Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mcs / tests / gtest-598.cs
1 using System;
2
3 public class A
4 {
5         public virtual T Test<T> (T t)
6         {
7                 throw new ApplicationException ();
8         }
9 }
10
11 public class B : A
12 {
13         public override T Test<T> (T t)
14         {
15                 Console.WriteLine ("Base");
16                 return default (T);
17         }
18 }
19
20 public class C : B
21 {
22         public override T Test<T> (T t)
23         {
24                 base.Test ("a");
25                 return default (T);
26         }
27 }
28
29
30 public class AG<U>
31 {
32         public virtual T Test<T> (T t, U u)
33         {
34                 throw new ApplicationException ();
35         }
36 }
37
38 public class B<UB> : AG<UB>
39 {
40         public override T Test<T> (T t, UB u)
41         {
42                 Console.WriteLine ("Base");
43                 return default (T);
44         }
45 }
46
47 public class C<UC> : B<UC>
48 {
49         public override T Test<T> (T t, UC u)
50         {
51                 base.Test ("a", default (UC));
52                 return default (T);
53         }
54 }
55
56 class X
57 {
58         public static void Main ()
59         {
60                 new C ().Test<int> (1);
61                 new C<int> ().Test (5, 3);
62         }
63 }