比方說,我有一個班,這樣的:如何隱藏靜態方法
class A
{
public static int Count()
}
class B : A
{
}
class C : A
{
}
我怎樣可以隱藏B類此靜態方法而不是對C?
比方說,我有一個班,這樣的:如何隱藏靜態方法
class A
{
public static int Count()
}
class B : A
{
}
class C : A
{
}
我怎樣可以隱藏B類此靜態方法而不是對C?
基本上,你不能。哎呀,如果它是公開的,然後任何人都可以打電話給它。
你可以把它保護這將使其能夠從B或C中的其它地方被稱作但不...但你仍然無法B和C之間的區分
您可以通過創建另一個做類,我們稱之爲Special,繼承A.然後,您將使C繼承自Special並從B繼承A.此外,您將擁有靜態方法protected,這意味着只有繼承了Special的類才能訪問它。
class A
{
}
class Special : A
{
protected static int Count()
}
class B : A
{
}
class C : Special
{
}
唯一的解決辦法是改變你的類層次結構。 如果你問我,這不值得麻煩和WTF的時刻,你會得到代碼評論。
class ABase
{
}
class A
{
public static int Count()
}
class B : ABase
{
}
class C : ABase
{
}