Скажет, у меня есть следующая иерархия:Можно ли переопределить скрытый метод?
public class MyClass
{
protected virtual void Method() { ... }
}
public class MySubClass : MyClass
{
public new virtual void Method() { ... }
}
public class MySubSubClass : MySubClass
{
// how do I reference the protected Method() to override it?
}
Можно ли переопределить реализацию методы protected
(), так что вызовы от других методов, определенных в MyClass посланы к реализации в MySubSubClass?
Если это невозможно, было бы хорошо просветить, почему.
вы пробовали это? –
Вам нужны типы на ваших методах; Кроме того, я могу неправильно истолковать описание, но вы просто ищете ключевое слово override? – Matt
Я пробовал 'protected override void Method()', что приводит к синтаксическим ошибкам «Невозможно изменить права доступа» и «Метод с той же сигнатурой уже объявлен». Я также попробовал интерфейс 'protected override void MyClass.Method()', который приводит к трем различным синтаксическим ошибкам. –