Как скрыть метод базового класса из производного класса при вызове внутри базового класса?C#

Место общения программистов C#
Anonymous
Как скрыть метод базового класса из производного класса при вызове внутри базового класса?

Сообщение Anonymous »

В C# у меня есть базовый класс:

Код: Выделить всё

public class A
{
private void foo(){}
}
и производный класс B от A.
Я хочу, чтобы foo() был скрыт от B, так что все работает нормально, я не могу позвонить:

Код: Выделить всё

new B().foo()
но я могу сделать это внутри A:

Код: Выделить всё

public class A
{
private void foo(){}

public void bar(){
new B().foo();  //this compiles, I don't want it to be possible
}
}
Пока вы вызываете частный базовый метод для производного класса внутри этого базового класса, он работает. Я хочу, чтобы закрытый метод всегда был скрыт.

Подробнее здесь: https://stackoverflow.com/questions/791 ... base-class

Вернуться в «C#»