[ilasm] Don't break arguments compatiblity
[mono-project.git] / mcs / tests / test-anon-136.cs
blobf68b9552eaebb52493047c74cd09f5abca8b9621
1 using System;
3 delegate void Handler<T> (object sender);
5 interface IBar<T> {
6 event Handler<T> Handler;
9 class Foo<T> {
11 IBar<T> proxy, real;
13 event Handler<T> handler;
15 Handler<T> proxyHandler;
17 public event Handler<T> Handler {
18 add {
19 if (handler == null) {
20 if (proxyHandler == null)
21 proxyHandler = (object s) => handler (proxy);
23 handler += value;
25 remove {
26 handler -= value;
31 class Program {
33 public static int Main ()
35 var x = new Foo<int> ();
36 x.Handler += null;
37 return 0;