Я пытаюсь понять это, но результаты поиска не получили.
В С# 4 я могу сделать
public interface IFoo<out T>
{
}
Как это отличается от
public interface IFoo<T>
{
}
Все, что я знаю, это out
делает общий ковариантный параметр (??).
Может ли кто-нибудь объяснить использование <out T>
части с примером? А также почему применимо только для интерфейсов и делегатов, а не для классов?
Извините, если он дубликат и закроет его как таковой, если он есть.