在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中的受保護成員。