using System; using System.Collections.Generic; class B { } class C : B { } interface I : IA { } interface IA { } struct S { } delegate dynamic D (dynamic d); class DynamicAssignments { static void Foo (IA o) { } public static int Main () { dynamic d1 = null; dynamic d2 = null; d1 = d2; d2 = d1; B g1 = null; B g2 = null; g1 = g2; g2 = g1; B> g_n1 = null; B> g_n2 = null; g_n1 = g_n2; g_n2 = g_n1; object[] o = null; dynamic[] d = o; C a = null; B b = a; a = (C)b; a = (C)b; I io = null; IA id = io; IA ia_o = null; IA ia_d = ia_o; S s_d = new S (); S s_o = s_d; S? s_o_n = s_d; D del = delegate (object del_arg) { return (object) null; }; Action> del2 = Foo; Action del31 = null; Action del32 = del31; I[] a20 = null; I[] b20 = a20; dynamic[] d40 = null; IEnumerable d41 = d40; return 0; } }