33 lines
408 B
C#
33 lines
408 B
C#
|
class X {
|
||
|
public virtual int Foo () {
|
||
|
return 1;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class Y : X {
|
||
|
|
||
|
delegate int D();
|
||
|
|
||
|
|
||
|
D GetIt () {
|
||
|
return new D (base.Foo);
|
||
|
}
|
||
|
|
||
|
D GetIt2 () {
|
||
|
return base.Foo;
|
||
|
}
|
||
|
|
||
|
public override int Foo () {
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
public static int Main ()
|
||
|
{
|
||
|
if (new Y ().GetIt () () == 1 && new Y ().GetIt2 () () == 1) {
|
||
|
System.Console.WriteLine ("good");
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
return 1;
|
||
|
}
|
||
|
}
|