Fix LinearGradientMode parameter validation to match corefx (#5672)
[mono.git] / mcs / tests / test-anon-163.cs
1 using System;
2
3 class A
4 {
5         public virtual void Foo<T> (T a, params string[] b) where T : struct
6         {
7         }
8
9         protected virtual void Foo2<T> ()
10         {
11         }
12
13         public virtual T Foo4<T> ()
14         {
15                 return default (T);
16         }
17 }
18
19 class B : A
20 {
21         public void Test (int v)
22         {
23                 Action a = () => base.Foo<int> (b: "n", a: v);
24                 a ();
25         }
26
27         public void Test2<T> (T b) where T : struct
28         {
29                 Action a2 = () => base.Foo<T> (b, "as", "asdfa");
30         }
31
32         internal void Test3 ()
33         {
34                 int i = 0;
35                 Action a = delegate () {
36                         i = 1;
37                         base.Foo2<string> ();
38                 };
39
40                 a ();
41
42                 a = delegate () {
43                         i = 2;
44                         base.Foo2<int> ();
45                 };
46
47                 a ();
48         }
49
50         public T Test4<T> ()
51         {
52                 Func<T> a4 = () => base.Foo4<T> ();
53                 return a4 ();
54         }
55 }
56
57 class Test
58 {
59         public static void Main ()
60         {
61                 var b = new B ();
62                 b.Test (1);
63                 b.Test2 (2);
64                 b.Test3 ();
65         }
66 }