比方说,我有一个班,这样的:如何隐藏静态方法
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
{
}