[Mono-bugs] [Bug 21092] New - Error declaring interface property Set member.

bugzilla-daemon@rocky.ximian.com bugzilla-daemon@rocky.ximian.com
26 Feb 2002 20:03:00 -0000


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 f_ai@hotmail.com.

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

--- shadow/21092	Tue Feb 26 15:03:00 2002
+++ shadow/21092.tmp.16101	Tue Feb 26 15:03:00 2002
@@ -0,0 +1,64 @@
+Bug#: 21092
+Product: Mono/MCS
+Version: unspecified
+OS: 
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Wishlist
+Component: Misc
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: f_ai@hotmail.com               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: Error declaring interface property Set member.
+
+Description of Problem:
+Defining the interface B, some internal parameters are created for 
+the 'set' members, but the way this 'InternalParameters' are created can 
+lead to type lookup problems.
+The internal parameters are created for the interface using 
+Interface.Parent as the TypeContainer (Interface is not a TypeContainer 
+like class and structs are) but this removes a full level of possible 
+targets for the type search.
+
+More detailed information:
+The code could be changed to use the other InternalParameters constructor 
+'InternaParameters(Type [] param_types, Parameters parameters)' and the 
+param_types array can be filled using 'RootContext.LookupType'. Or a new 
+constructor could be added to InternalCommand where a 'DeclSpace' can be 
+used to later resolve the type in the parameters array.
+
+Additional Information:
+Using snapshot of Feb-25-02
+
+Source code to reproduce the problem:
+
+namespace N1
+{	
+	public enum A
+	{
+		A_1, A_2, A_3
+	}
+
+	public interface B
+	{
+		N1.A myProp //<-- note the fully qualified type name
+		{
+			get;
+			set;
+		}
+	}
+
+	public interface C
+	{
+		A myProp
+		{
+			get;
+			set;//<- fails, cant process the internal param
+		}
+	}
+}