在C#中,static
关键字用于声明静态成员,这些成员属于类型本身,而不是类型的实例。在继承中,静态成员的使用方式如下:
public class BaseClass
{
public static int StaticProperty { get; set; }
public static void StaticMethod()
{
// ...
}
static BaseClass()
{
StaticProperty = 10;
StaticMethod();
}
}
public class DerivedClass : BaseClass
{
static DerivedClass()
{
// 可以在这里调用基类的静态构造函数
BaseClass.StaticMethod();
}
}
public class BaseClass
{
public static int StaticProperty { get; set; }
}
public class DerivedClass : BaseClass
{
public static new int StaticProperty
{
get { return BaseClass.StaticProperty; }
set { BaseClass.StaticProperty = value; }
}
}
base.
前缀。public class BaseClass
{
public static int StaticProperty { get; set; }
}
public class DerivedClass : BaseClass
{
public void AccessBaseClassStaticMember()
{
int value = StaticProperty; // 直接访问基类的静态成员
}
}
总之,在继承中,静态成员的使用方式与在非继承类中的使用方式相同。它们属于类型本身,而不是类型的实例。在派生类中,可以直接访问基类的静态成员,无需使用base.
前缀。