Duplicar posibles:
Difference between Covariance & Contra-variance.NET: Covarianza y contravarianza
Estoy tratando de comprender lo que es la covarianza y contravarianza, así como la diferencia entre los dos. He consultado this link, y hasta ahora he entendido lo siguiente:
Covarianza es el proceso mediante el cual se asigna un miembro derivado a un miembro base. Tales como:
IEnumerable<Derived> d = new List<Derived>();
IEnumerable<Base> b = d;
Ni siquiera estoy seguro de si estoy en lo cierto ... supongo. Básicamente, estoy buscando a alguien que me deje boquiabierto, en el más simple de los términos, para que pueda entender cuáles son los dos y las diferencias entre ellos.
También entiendo que hay temas similares de discusión con respecto a esto, pero la mayoría de las respuestas no son el tipo de descripción que estaba buscando.