public void Test() { Console.WriteLine("One delegate"); Target1Del targ = new Target1Del(Target1); targ.Invoke(); Console.WriteLine("Other delegate"); targ = new Target1Del(Target2); targ.Invoke(); Console.WriteLine("Now multicast"); targ = new Target1Del(Target1); targ += new Target1Del(Target2); targ.Invoke(); Console.WriteLine("Now with parameters"); TargetIntInt targInt = new TargetIntInt(Target3); int a = targInt.Invoke(10); Console.WriteLine(a); }