来自公众号NotOnlyCsharp
在C#中,base 关键字主要用于在派生类中访问被继承的基类成员。这包括基类的字段、属性、方法、事件和索引器。使用 base 关键字可以确保你访问的是基类中的成员,而不是派生类中可能存在的同名成员。
以下是 base 关键字的一些常见用法:
- 访问基类的字段和属性
当派生类与基类有同名的字段或属性时,可以使用 base 关键字来明确指定访问基类中的成员。
public class BaseClass
{
public int MyProperty { get; set; }
}
public class DerivedClass : BaseClass
{
new public int MyProperty { get; set; } // 隐藏基类的 MyProperty
public void ShowProperties()
{
Console.WriteLine("Base MyProperty: " + base.MyProperty); // 访问基类的 MyProperty
Console.WriteLine("Derived MyProperty: " + this.MyProperty); // 访问派生类的 MyProperty
}
}
在这个例子中,DerivedClass 隐藏了 BaseClass 中的 MyProperty 属性。通过使用 base.MyProperty,我们可以访问基类中的 MyProperty 属性。
- 调用基类的构造函数
在派生类的构造函数中,可以使用 base 关键字来调用基类的构造函数。这对于确保基类得到正确的初始化非常有用。
public class