共用方式為


編譯器錯誤 CS0507

更新:2007 年 11 月

錯誤訊息

'function1': 覆寫 'access' 繼承的成員 'function2' 時法變更存取修飾詞

嘗試變更方法覆寫中的存取規範。

範例

下列範例會產生 CS0507。

// CS0507.cs
abstract public class clx
{
   virtual protected void f() {}
}

public class cly : clx
{
   public override void f() {}   // CS0507
   public static void Main() {}
}

如果類別嘗試將方法覆寫的方法,是標記為在參考之中繼資料 (Metadata) 中定義的 protected internal,則也會發生 CS0507。在此情況下,覆寫的方法應該標記為 protected。

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

下列範例會產生 CS0507。

// 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() {}
}