为什么我不能从 C# 中的子类访问 protected 方法?
类:
public abstract class A
{
protected void Method()
{
}
}
子类:
public class B : A
{
}
控制台应用程序:
B b = new B();
b.Method();
编译器说: 错误 1 'Method()' 由于其保护级别而无法访问
最佳答案
protected
并不不 意味着客户端代码可以通过派生类实例访问它。
它确实意味着派生类代码可以使用它。例如,this 是有效的:
public class B : A
{
public void SomeMethod()
{
Method();
}
}
如果您希望您的精确代码示例正常工作,请将Method
标记为public
。
关于c# - 为什么我不能从 C# 中的子类访问 protected 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28353909/