在C#中,protected关键字用于定义受保护的成员,只能被其自身或者派生类的实例访问。而base关键字用于引用基类的成员或者调用基类的构造函数。
当在派生类中需要访问基类的受保护成员时,可以使用protected关键字来定义基类中的成员,并使用base关键字来访问或调用基类中的成员。例如:
class BaseClass
{
protected int protectedField;
protected void ProtectedMethod()
{
Console.WriteLine("BaseClass ProtectedMethod");
}
}
class DerivedClass : BaseClass
{
public void AccessProtectedMember()
{
base.protectedField = 10; // 访问基类的受保护字段
base.ProtectedMethod(); // 调用基类的受保护方法
}
}
在上面的例子中,DerivedClass派生自BaseClass,通过使用base关键字可以在DerivedClass中访问和调用BaseClass中的受保护成员。