using System;
public class Test
{
delegate void Foo();
struct Bar {
public int X;
public void DoIt() {
X++;
Console.WriteLine("X={0}", X);
}
}
public static void Main() {
Bar b = new Bar();
var foo = new Foo(b.DoIt);
foo();
foo();
foo();
Console.WriteLine("X={0} What???", b.X);
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewoJCglkZWxlZ2F0ZSB2b2lkIEZvbygpOwoJCglzdHJ1Y3QgQmFyIHsKCQlwdWJsaWMgaW50IFg7CgkJcHVibGljIHZvaWQgRG9JdCgpIHsKCQkJWCsrOwoJCQlDb25zb2xlLldyaXRlTGluZSgiWD17MH0iLCBYKTsKCQl9Cgl9CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpIHsKCQlCYXIgYiA9IG5ldyBCYXIoKTsKCQl2YXIgZm9vID0gbmV3IEZvbyhiLkRvSXQpOwoJCWZvbygpOwoJCWZvbygpOwoJCWZvbygpOwoJCUNvbnNvbGUuV3JpdGVMaW5lKCJYPXswfSBXaGF0Pz8/IiwgYi5YKTsKCX0KCn0=