// Author:
// Miguel de Icaza (miguel@ximian.com)
//
-// (C) 2001 Ximian, Inc (http://www.ximian.com)
+// Copyright 2001 Ximian, Inc (http://www.ximian.com)
+// Copyright 2003-2008 Novell, Inc
//
using System;
types = new Type [count];
for (int i = 0; i < count; i++)
- types [i] = pi [i].ParameterType;
+ types [i] = TypeManager.TypeToCoreType (pi [i].ParameterType);
// TODO: This (if) should be done one level higher to correctly use
// out caching facilities.
{
comparer = PtrComparer.Instance;
}
+
+#if MS_COMPATIBLE
+ //
+ // Workaround System.InvalidOperationException for enums
+ //
+ protected override int GetHash (object key)
+ {
+ TypeBuilder tb = key as TypeBuilder;
+ if (tb != null && tb.BaseType == TypeManager.enum_type)
+ key = tb.BaseType;
+
+ return base.GetHash (key);
+ }
+#endif
}
/*