假设我有一个类,如:
class A
{
public static int Count()
}
class B : A
{
}
class C : A
{
}
如何为B类隐藏此静态方法,而不是为C?
隐藏答案 0 :(得分:9)
你可以保护它,允许从B或C内部调用,但不能在其他地方调用......但你仍然无法区分B和C.
答案 1 :(得分:0)
你可以通过创建另一个类来实现它,让我们称它为Special,继承A.然后你将使C继承自Special,B继承自A.另外,你将保护静态方法,这意味着只有类继承Special将可以访问它。
class A
{
}
class Special : A
{
protected static int Count()
}
class B : A
{
}
class C : Special
{
}
答案 2 :(得分:0)
唯一的解决方案是更改类层次结构。 如果你问我,那么你在代码评论中会遇到麻烦和WTF的时刻。
class ABase
{
}
class A
{
public static int Count()
}
class B : ABase
{
}
class C : ABase
{
}