在C#中,protected
字段表示该字段只能在其所在类及其子类中被访问。因此,不能直接从类的外部访问protected
字段。如果您需要从类的外部访问该字段,可以使用公共属性(public property)来实现。
例如:
class MyClass
{
protected int myProtectedField = 10;
}
class MyDerivedClass : MyClass
{
public void AccessProtectedField()
{
// 可以访问基类的受保护字段
Console.WriteLine(myProtectedField);
}
}
class AnotherClass
{
public void AccessProtectedField()
{
MyClass obj = new MyClass();
// 下面这行代码会导致编译错误,因为不能直接访问受保护字段
// Console.WriteLine(obj.myProtectedField);
}
}