https://bugzilla.novell.com/show_bug.cgi?id=457115
Summary: Compilation error when base class member is shadowed
with different accessibility
Product: Mono: Compilers
Version: 2.0.x
Platform: x86-64
OS/Version: openSUSE 11.0
Status: NEW
Severity: Minor
Priority: P5 - None
Component: C#
AssignedTo: [email protected]
ReportedBy: [EMAIL PROTECTED]
QAContact: [email protected]
Found By: ---
Description of Problem:
If a field is shadowed in derived class with less accessibility as the base
class, accessing the field in an instance of the derived class causes the
compiler to complain that the field is not accessible, which it should use the
base class field that has the appropriate accessibility.
Steps to reproduce the problem:
Compile the following code:
using System;
public class Base
{
public int field
{
get { Console.WriteLine("Got from class Base."); return 0; }
}
}
public class Derived : Base
{
private new int field
{
get { Console.WriteLine("Got from class Derived."); return 1; }
}
}
public class MainClass
{
public static void Main()
{
Derived a = new Derived();
Console.WriteLine("a = {0}", a.field);
}
}
Actual Results:
error CS0122: Derived.field is inaccessible due to protection level
Expected Results:
Compilation should succeed and output should be:
Got from class Base.
a = 0
How often does this happen?
Every time the code example is compiled.
Additional Information:
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
_______________________________________________
mono-bugs maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs