46 lines
505 B
C#
Raw Normal View History

using System;
class X
{
protected virtual int Foo ()
{
return 1;
}
protected delegate int FooDelegate ();
protected FooDelegate foo;
protected X ()
{
foo = new FooDelegate (Foo);
}
}
class Y : X
{
protected Y ()
: base ()
{ }
protected override int Foo ()
{
return 2;
}
int Hello ()
{
return foo ();
}
public static void Main ()
{
Y y = new Y ();
int result = y.Hello ();
if (result == 2)
Console.WriteLine ("OK");
else
Console.WriteLine ("NOT OK");
}
}