1 class C 2 { M(object d, long s)3 public int M (object d, long s) 4 { 5 return 1; 6 } 7 M(long s, object d)8 public int M (long s, object d) 9 { 10 return 2; 11 } 12 M(dynamic d, dynamic s)13 public int M (dynamic d, dynamic s) 14 { 15 return 3; 16 } 17 M2(object d)18 public int M2 (object d) 19 { 20 return 1; 21 } 22 M2(byte s)23 public int M2 (byte s) 24 { 25 return 2; 26 } 27 } 28 29 public class Test 30 { Main()31 public static int Main () 32 { 33 dynamic d = new C (); 34 byte s = 5; 35 object o = 2; 36 int v = d.M (s, o); 37 38 if (v != 2) 39 return 1; 40 41 v = d.M2 (1 + 3); 42 if (v != 2) 43 return 2; 44 45 return 0; 46 } 47 } 48