Articles of contravariancia

Genéricos: Lista es igual que Lista ?

Solo bash comprender la palabra clave extends en Java Generics. List List significa que podemos rellenar cualquier objeto en la List que ES UN Animal entonces, lo siguiente no significará lo mismo: List ¿Alguien puede ayudarme a saber la diferencia entre los dos anteriores? Para mí se extends solo sonido redundante aquí. ¡Gracias!

Comprender las interfaces covariantes y contravariantes en C #

Me he topado con estos en un libro de texto que estoy leyendo en C #, pero estoy teniendo dificultades para entenderlos, probablemente debido a la falta de contexto. ¿Hay una buena explicación concisa de lo que son y para qué son útiles? Editar para aclarar: Interfaz covariante: interface IBibble . . Interfaz contravariante: interface […]

¿Por qué no comstack el ejemplo, también conocido como ¿cómo funciona (co, contra, y en) la varianza?

A continuación de esta pregunta , ¿alguien puede explicar lo siguiente en Scala: class Slot[+T] (var some: T) { // DOES NOT COMPILE // “COVARIANT parameter in CONTRAVARIANT position” } Entiendo la distinción entre +T y T en la statement de tipo (comstack si uso T ). Pero entonces, ¿cómo se escribe realmente una clase […]

¿Cómo se implementa la covarianza y contra varianza genéricas en C # 4.0?

No asistí a PDC 2008, pero escuché algunas noticias de que C # 4.0 se anuncia para admitir la covarianza y la contravariancia genéricas. Es decir, List se puede asignar a List . ¿Cómo es posible? En el libro de Jon Skeet, C # in Depth , se explica por qué los generics C # […]

Por qué la covarianza y la contravarianza no son compatibles con el tipo de valor

IEnumerable es IEnumerable pero no admite el tipo de valor, solo el tipo de referencia. El código simple a continuación se comstack con éxito: IEnumerable strList = new List(); IEnumerable objList = strList; Pero cambiar de string a int obtendrá un error comstackdo: IEnumerable intList = new List(); IEnumerable objList = intList; El motivo se […]