иерархия наследования

Что такое ковариантность и контравариантность?

Ковариантность – следование существующей иерархии (последовательности) наследования. Например, если класс Dog наследник Animal, то IEnumerble <Dog> будет потомком IEnumerble <Animal>. Перечисление собак – отдельный случай перечисления всех животных. Контравариантность – это изменение порядка наследования на противоположную. Рассмотрим следующий вариант. String…

Читать полностью