在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.
前綴。