Проблемы ковариации в C#C#

Место общения программистов C#
Anonymous
Проблемы ковариации в C#

Сообщение Anonymous »

Вот настройка:

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

interface IFruit { }
interface IApple : IFruit { }
interface IBag { }

// This works
IBag ConvertBag(IBag fruits) => fruits;

// Error: Cannot implicitly convert IBag to IBag
IBag ConvertBag(IBag fruits) where F : IFruit => fruits;
Как и ожидалось, я могу преобразовать IBag в IBag.
Но почему я не могу преобразовать IBag в IBag, если я знаю, что F является IFruit?

Подробнее здесь: https://stackoverflow.com/questions/790 ... in-c-sharp

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