Предположим, есть интерфейс
Код: Выделить всё
interface IAnimal {
IFood GetPreferredFood();
}
и класс
Код: Выделить всё
class Cat(F food) : IAnimal where F : IFood {
private F _food = food;
public F GetPreferredFood() {
return _food;
}
}
Компилятор выдает ошибку CS0738: «Cat» не реализует член интерфейса «IAnimal.GetPreferredFood()». «Cat.GetPreferredFood()» не может реализовать «IAnimal.GetPreferredFood()», потому что он не имеет соответствующего возвращаемого типа «IFood». . Мне кажется, что Cat.GetPreferredFood() всегда будет возвращать экземпляр IFood , почему компилятор жалуется?
Подробнее здесь:
https://stackoverflow.com/questions/798 ... -parameter