Запрет доступа к базовому методу из производного класса - PullRequest
1 голос
/ 04 мая 2020

Учитывая следующую структуру классов, есть ли способ предотвратить вызов или просмотр 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()
    {
    }
}

1 Ответ

4 голосов
/ 04 мая 2020

Вы можете сделать BaseMethod internal и поместить FinalClass в другую сборку, отличную от BaseClass и IntermediateClass.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...