Код: Выделить всё
public abstract class MyBase
{
public abstract object DoThing();
}
public interface MyInterface
{
public object DoThing();
}
public class ClassA : MyBase
{
public override string DoThing() => ""; // ✅ Returning a string is allowed here.
}
public class ClassB : MyInterface
{
public string DoThing() => ""; // ❌ But I cannot return a string here (CS0738). Why?
}
Попытка скомпилировать ClassB.DoThing() приводит к этой ошибке:
CS0738: «ClassB» не реализует член интерфейса «MyInterface.DoThing()». 'ClassB.DoThing()' не может реализовать 'MyInterface.DoThing()', поскольку он не имеет соответствующего возвращаемого типа 'object'.
