3 public class InnerDerived
5 public InnerDerived (T t)
10 public class GenericInnerDerived<U>
12 public GenericInnerDerived (T t, U u)
18 class BaseConcrete : BaseGeneric<string>
22 class Concrete_A : BaseGeneric<int>
26 class Concrete_B : BaseConcrete
31 class BaseGeneric_2<T, U>
33 public class InnerDerived
35 public InnerDerived (T t, U u)
41 class BaseGeneric_1<T> : BaseGeneric_2<T, string>
45 class Concrete_2 : BaseGeneric_1<bool>
52 public static void Main ()
54 new Concrete_B.InnerDerived ("abc");
55 new Concrete_A.InnerDerived (11);
56 new Concrete_A.GenericInnerDerived<int> (1, 2);
57 new Concrete_2.InnerDerived (false, "bb");