[Mono-bugs] [Bug 52408][Wis] Changed - MCS does not know the difference between a `new' property and an `override' property

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Sun, 21 Dec 2003 11:17:44 -0500 (EST)


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 bmaurer@users.sf.net.

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

--- shadow/52408	2003-12-21 02:32:29.000000000 -0500
+++ shadow/52408.tmp.31819	2003-12-21 11:17:43.000000000 -0500
@@ -1,14 +1,14 @@
 Bug#: 52408
 Product: Mono/Compilers
 Version: unspecified
-OS: 
+OS: unknown
 OS Details: 
 Status: NEW   
 Resolution: 
-Severity: 
+Severity: Unknown
 Priority: Wishlist
 Component: C#
 AssignedTo: mono-bugs@ximian.com                            
 ReportedBy: bmaurer@users.sf.net               
 QAContact: mono-bugs@ximian.com
 TargetMilestone: ---
@@ -51,6 +51,25 @@
 Additional Information:
 I am not sure how we can tell this from the Metadata, we are not given
 much. The PropertyInfo gives no way for us to tell the new case from the
 override case. I think we have to look *directly* at the MethodInfo.
 
 Miguel?
+
+------- Additional Comments From bmaurer@users.sf.net  2003-12-21 11:17 -------
+Note in the spec, sec 17.6.2 it states:
+
+`When a derived class declares a property by the same name as an
+inherited property, the derived property hides the inherited property
+with respect to both reading and writing.'
+
+It gives an example that we are not able to compile and use correctly:
+
+class A  { public int P { set {...} } } 
+class B: A  { new public int P { get {...} } }
+
+B b = new B();
+b.P = 1; // Error, B.P is read-only
+((A)b).P = 1;  // Ok, reference to A.P
+
+On the line b.P we do not report an error.
+