using System;
public class Program
{
static void Main(string[] args)
{
Derived d = new Derived();
int i = 10;
d.Func(i);
}
}
public class Base
{
public virtual void Func(int x)
{
Console.WriteLine("Base.Func(int)");
}
}
public class Derived : Base
{
public override void Func(int x)
{
Console.WriteLine("Derived.Func(int)");
}
public void Func(object o)
{
Console.WriteLine("Derived.Func(object)");
}
}
dXNpbmcgU3lzdGVtOwpwdWJsaWMgY2xhc3MgUHJvZ3JhbQp7CiAgIHN0YXRpYyB2b2lkIE1haW4oc3RyaW5nW10gYXJncykKICAgewogICAgICBEZXJpdmVkIGQgPSBuZXcgRGVyaXZlZCgpOwogICAgICBpbnQgaSA9IDEwOwogICAgICBkLkZ1bmMoaSk7CiAgfQp9CnB1YmxpYyBjbGFzcyBCYXNlCnsKICBwdWJsaWMgdmlydHVhbCB2b2lkIEZ1bmMoaW50IHgpCiAgewogICAgICBDb25zb2xlLldyaXRlTGluZSgiQmFzZS5GdW5jKGludCkiKTsKICB9Cn0KcHVibGljIGNsYXNzIERlcml2ZWQgOiBCYXNlCnsKICBwdWJsaWMgb3ZlcnJpZGUgdm9pZCBGdW5jKGludCB4KQogIHsKICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIkRlcml2ZWQuRnVuYyhpbnQpIik7CiAgfQogIHB1YmxpYyB2b2lkIEZ1bmMob2JqZWN0IG8pCiAgewogICAgICBDb25zb2xlLldyaXRlTGluZSgiRGVyaXZlZC5GdW5jKG9iamVjdCkiKTsKICB9Cn0=