Вопрос очень короткий, но я не нашел решения.Переопределенный метод перекрытия
Предположим, что мы имеем иерархию классов
public abstract class A
{
public virtual string Print() { return "A"; }
}
public class B : A
{
public virtual new string Print() { return "B"; }
}
public class C : B
{
public override string Print() { return "C"; }
}
Можно ли переопределить A.Print в классе C? Я пытался сделать это в качестве явной реализации интерфейса:
string A.Print() { return "C"; }
, но здесь я получаю сообщение об ошибке:
'A' in explicit interface declaration is not an interface
Я думаю, что это вообще невозможно, но хотел бы получить любую дополнительную информацию
Ваш вопрос помечены как C#, так и CIL. Вы хотите сделать это на C# или вы можете писать C 'в CIL? – svick
@svick, потому что я не уверен, возможно ли это или нет в C# или IL, поэтому см. Ответ Брайана. Теперь вы поняли, почему я добавил тег cil к вопросу :) –