[Mono-bugs] [Bug 41655][Nor] Changed - Reflection method binding problem.

bugzilla-daemon@rocky.ximian.com bugzilla-daemon@rocky.ximian.com
Wed, 7 May 2003 18:33:20 -0400 (EDT)


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by tom@acquist.com.

http://bugzilla.ximian.com/show_bug.cgi?id=41655

--- shadow/41655	Mon Apr 21 13:09:56 2003
+++ shadow/41655.tmp.27300	Wed May  7 18:33:20 2003
@@ -1,16 +1,16 @@
 Bug#: 41655
-Product: Mono/Runtime
+Product: Mono/Class Libraries
 Version: unspecified
-OS: 
+OS: unknown
 OS Details: 
 Status: NEW   
 Resolution: 
-Severity: 
+Severity: Unknown
 Priority: Normal
-Component: misc
+Component: CORLIB
 AssignedTo: mono-bugs@ximian.com                            
 ReportedBy: tom@acquist.com               
 QAContact: mono-bugs@ximian.com
 TargetMilestone: ---
 URL: 
 Cc: 
@@ -88,6 +88,22 @@
 
 How often does this happen? 
 Every time.
 
 Additional Information:
 This occurs with Mono 0.23 on RH8.
+
+------- Additional Comments From tom@acquist.com  2003-05-07 18:33 -------
+This issue still exists on Mono 0.24 and RH9.
+The problem with the arrays matching incorrectly is an unrelated 
+issue to the enum case demonstrated here.
+I did spend some time narrowing the enum thing down a bit.  It 
+appears that the method is not matching because in the default 
+binder's check_type method, it uses the type codes of the two types 
+to determine whether or not a cast is safe.  The created enum has a 
+typecode of "Int32", but the typecode of System.Enum is "Object".  
+(On .Net, they also have these typecodes, so that's not a bug.)  So, 
+it goes into the type code switch statement, and will fail.
+That's where the problem is, but I do not know what the best solution 
+would be.  (Explicit checks for enums?  Reworking the check_type 
+method so it will handle this sort of case first?  Something 
+completely different?)