防止从派生访问基方法 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 放在与 BaseClassIntermediateClass 不同的程序集中。