using System; public class C { event Func<int, int> E; Func<int, int> D; public static int Main () { var c = new C (); Func<int, int> v = Foo; dynamic[] arr = new dynamic [] { v }; c.E += arr [0]; if (c.E.GetInvocationList ().Length != 1) return 1; c.D += arr [0]; if (c.D.GetInvocationList ().Length != 1) return 2; return 0; } static int Foo (int ii) { return 9; } }