interface ICovariant { } interface IContravariant { } delegate ICovariant Cov1 (IContravariant x); delegate ICovariant Cov2 (IContravariant> x); delegate ICovariant>> Cov3 (IContravariant>>> x); delegate ICovariant Cov4 (); delegate IContravariant Cov5 (); delegate IContravariant Contra5 (U u, ICovariant x); delegate IContravariant Contra6 (); delegate IContravariant Contra7 (U u, ICovariant x); delegate IContravariant> Contra8 (U u, ICovariant x); interface ITest_1 { ICovariant CovariantHandler (IContravariant x); } interface ITest_2 { IContravariant CovariantHandler (ICovariant x); } class Program { public static void Main () { } }