5 public virtual T Test<T> (T t)
7 throw new ApplicationException ();
13 public override T Test<T> (T t)
15 Console.WriteLine ("Base");
22 public override T Test<T> (T t)
32 public virtual T Test<T> (T t, U u)
34 throw new ApplicationException ();
38 public class B<UB> : AG<UB>
40 public override T Test<T> (T t, UB u)
42 Console.WriteLine ("Base");
47 public class C<UC> : B<UC>
49 public override T Test<T> (T t, UC u)
51 base.Test ("a", default (UC));
58 public static void Main ()
60 new C ().Test<int> (1);
61 new C<int> ().Test (5, 3);