contravariance- все статьи тега


Общая дисперсия в C# 4.0

Универсальная дисперсия в C# 4.0 была реализована таким образом, что можно написать следующее без исключения (что и произошло бы в C# 3.0): List<int> intList = new List<int>(); List<object> objectList = intList; [пример нефункционального: смотрите ответ Джона Скита] Я недавно присутствовал на конференции, где Джон Скит дал отличный обзор общей дисперсии, но я не уверен, что полностью понимаю ее - я понимаю значение ключевых слов in и out, когда речь заходит о контра и к ...

Понимание Ковариантных и контравариантных интерфейсов в C#

я столкнулся с ними в учебнике, который я читаю на C#, но мне трудно понять их, вероятно, из-за отсутствия контекста. есть ли хорошее краткое объяснение того, что они есть и для чего они полезны там? редактировать для уточнения: интерфейс Ковариантного: interface IBibble<out T> . . интерфейс Контравариантным: interface IBibble<in T> . . ...

Почему в Haskell не так много дискуссий о co - и contra-дисперсии (в отличие от Scala или C#)?

Я знаю, что ковариантность и контравариантность типов. Мой вопрос в том, почему я еще не сталкивался с обсуждением этих концепций в моем исследовании Haskell (в отличие, скажем, от Scala)? кажется, есть фундаментальная разница в том, как Haskell рассматривает типы В отличие от Scala или C#, и я хотел бы сформулировать, в чем эта разница. или, может быть, я ошибаюсь, и я просто еще не узнал достаточно Haskell: -) ...