由於C#沒有爲接口提供靜態成員支持很難保證類中存在某些靜態成員。我知道它有一個抽象的類 - 祖先,但我不能使用它,因爲在這種情況下,靜態成員將是相同的。例如:如何保證類型中存在靜態成員?
class StaticClass
{
protected static int _secretNumber = 10;
public static int SecretNumber { get { return StaticClass._secretNumber; } }
}
class SomeData : StaticClass
{
SomeData() { SomeData._secretNumber = 25; }
}
class SomeData2 : StaticClass
{
SomeData2() { SomeData2._secretNumber = 50; }
}
在這種情況下StaticClass.SecretNumber = SomeData.SecretNumber = SomeData2.SecretNumber = 10 我必須爲了保證一個類型包含自己的靜態成員呢?
爲什麼你需要保證?此外,如果您正在對接口進行編程,您將無法訪問此靜態成員。你的目標是什麼? – Jon
我的理由非常明顯:接口不支持靜態成員,但我只需要通過接口或抽象類並使用它們的靜態成員來處理不同的類型。 – Vasya
嗯......你不是說你自己,接口不支持靜態成員,基類會共享成員=>你需要做你已經知道不可能的東西嗎? – Jon