Задать вопрос
@Mikhail3

В каких случаях использовать Ковариантность и Контрвариантность?

Я так и не понял где может применятся Ковариантность и Контрвариантность. Может кто объяснить ? В каких случаях ?
  • Вопрос задан
  • 93 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 2
freeExec
@freeExec
Участник OpenStreetMap
Возвращать из метода наиболее конкретный тип, а в аргументах принимать наиболее общий.
Ответ написан
Комментировать
Nipheris
@Nipheris Куратор тега C#
https://en.wikipedia.org/wiki/Covariance_and_contr...
For example, in C#, if Cat is a subtype of Animal, then:
  • IEnumerable<Cat> is a subtype of IEnumerable<Animal>. The subtyping is preserved because IEnumerable<T> is covariant on T.
  • Action<Animal> is a subtype of Action<Cat>. The subtyping is reversed because Action<T> is contravariant on T.

Даже не знаю, что добавить.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы