Hi!
What is the correct semantics of "protected internal" when used with
"abstract/override"? Consider the following:
--- a.cs: --------------------------------------------------
public abstract class A
{
protected internal abstract void Test1();
public static void Main(string[] args)
{
}
}
--- b.cs: --------------------------------------------------
public class B : A
{
protected override void Test1()
{
}
}
------------------------------------------------------------
On Windows it compiles fine:
csc.exe /t:library a.cs
csc.exe /r:a.dll /t:library b.cs
On Linux:
mcs -t:library a.cs
mcs -t:library -r:a.dll b.cs
it produces an error:
---------
b.cs(3) error CS0507: `B.Test1': can't change the access
modifiers when overriding inherited member `A.Test1'
---------
However, when "B.Test1()" is "protected internal override" it
compiles with mcs but not csc (also CS0507 error)
I guess you have made it exactly the opposite way. Or is it csc's bug?
Jarek
_______________________________________________
Mono-list maillist - [EMAIL PROTECTED]
http://lists.ximian.com/mailman/listinfo/mono-list