CS0507 fordítási hiba

"function1" : nem módosíthatók a hozzáférési módosítók a "hozzáférés" örökölt tag "function2" felülírásakor

Kísérlet történt a hozzáférési specifikáció módosítására egy metódus felülbírálásában.

1. példa

Az alábbi minta a CS0507-et hozza létre.

// CS0507.cs  
abstract public class clx  
{  
   virtual protected void f() {}  
}  
  
public class cly : clx  
{  
   public override void f() {}   // CS0507  
   public static void Main() {}  
}  

2. példa

CS0507 akkor is előfordulhat, ha egy osztály megpróbál felülbírálni egy, a hivatkozott metaadatokban meghatározott módon megjelölt protected internal metódust. Ebben az esetben a felülírási módszert meg kell jelölni protected.

// CS0507_b.cs  
// compile with: /target:library  
abstract public class clx  
{  
   virtual protected internal void f() {}  
}  

Az alábbi minta a CS0507-et hozza létre.

// CS0507_c.cs  
// compile with: /reference:cs0507_b.dll  
public class cly : clx  
{  
   protected internal override void f() {}   // CS0507  
   // try the following line instead  
   // protected override void f() {}   // OK  
  
   public static void Main() {}  
}