Применяется ли ковариация / контравариантность к неявно конвертируемым типам, которые не реализуют общий интерфейс?

В настоящее время я читаю о ковариации и контравариантности в C #.

Все примеры содержат сведения об объектах, которые можно преобразовать, и отличаются точностью от реализации интерфейса, например

Где Circle: IShape

Ковариация: SomeType как SomeType
Контравариантность: SomeType как SomeType


Если TypeA и Каждый тип B имеет неявный преобразователь , записанный для преобразования в другой тип, но не реализуют какой-либо общий интерфейс , правильно ли говорить о ковариации / контравариантности при работе с преобразование дженериков этих типов? Или это другое понятие?

7
задан StuperUser 19 July 2011 в 15:01
поделиться