多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 编译器错误 CS0507 “function1”:当重写“access”继承成员“function2”时,无法更改访问修饰符 尝试在方法重写中更改访问规范。 ## 示例 <a id="exampleToggle"></a> 下面的示例生成 CS0507。 ``` // CS0507.cs abstract public class clx { virtual protected void f() {} } public class cly : clx { public override void f() {} // CS0507 public static void Main() {} } ``` 当类尝试重写在引用的元数据中定义的标记为 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() {} } ```