}
}
+class D
+{
+ public static int Foo (dynamic d)
+ {
+ return 1;
+ }
+
+ public static int Foo (params object[] o)
+ {
+ return 2;
+ }
+}
+
+class E
+{
+ public static int Foo (int i, dynamic d)
+ {
+ return 1;
+ }
+
+ public static int Foo (double d, object i)
+ {
+ return 2;
+ }
+}
+
class Program
{
static void DynOut (out dynamic d)
d = null;
}
+ static int DynParams (int a, int b, params int[] arr)
+ {
+ return arr [1] + b;
+ }
+
void TestErrorVersions ()
{
var c = new C ();
c.Method_B (d);
}
- static int Main ()
+ public static int Main ()
{
object o;
DynOut (out o);
if (C.M (ref d1, out d2) != 1)
return 1;
+ dynamic d3 = 5;
+ dynamic d4 = -9;
+ if (DynParams (1, 2, d3, d4) != -7)
+ return 2;
+
+ if (DynParams (1, 2, 3, d4) != -7)
+ return 3;
+
+ d = 44;
+ if (D.Foo (d) != 1)
+ return 4;
+
+ if (E.Foo (0, 0) != 1)
+ return 5;
+
return 0;
}
}