// ===++=== // // OrtizOL // // ===--=== /*============================================================ // // Clase: ContraVarianza.cs // // Propósito: Demostración de la covarianza. // ============================================================*/ namespace Articulos.Cap03 { internal class Animal { }; internal class Oso : Animal { }; internal interface IPushable { void Push(T obj); } internal class Pila : IPushable { public void Push(T obj) { } } internal class ContraVarianza { public static void Main() { IPushable animales = new Pila(); IPushable osos = animales; osos.Push( new Oso() ); } } }