防止从派生访问基方法 class
Preventing access to base method from derived class
给定以下 类 结构,有没有办法防止 BaseMethod()
被调用或被 FinalClass
看到?
public abstract class BaseClass
{
protected virtual void BaseMethod()
{
}
}
public class IntermediateClass : BaseClass
{
protected sealed override void BaseMethod()
{
base.BaseMethod();
}
private void IntermediateMethod()
{
BaseMethod();
}
}
public class FinalClass : IntermediateClass
{
protected void FinalMethod()
{
}
}
您可以制作 BaseMethod
internal
并将 FinalClass
放在与 BaseClass
和 IntermediateClass
不同的程序集中。
给定以下 类 结构,有没有办法防止 BaseMethod()
被调用或被 FinalClass
看到?
public abstract class BaseClass
{
protected virtual void BaseMethod()
{
}
}
public class IntermediateClass : BaseClass
{
protected sealed override void BaseMethod()
{
base.BaseMethod();
}
private void IntermediateMethod()
{
BaseMethod();
}
}
public class FinalClass : IntermediateClass
{
protected void FinalMethod()
{
}
}
您可以制作 BaseMethod
internal
并将 FinalClass
放在与 BaseClass
和 IntermediateClass
不同的程序集中。