variance
Whether a generic type can stand in for a related one, like IEnumerable
Covariance (out) and contravariance (in) on interface and delegate type parameters allow implicit reference conversions between constructed types.
Examples
IEnumerable<object> items = words;works whenwordsis anIEnumerable<string>; the same withList<object>andList<string>is error CS0029.
See also