using System;
class A
{
public virtual void M(int i)
{
Console.WriteLine("A::M(int) called");
}
}
class B: A
{
public override void M(int i)
{
Console.WriteLine("B::M(int) called");
}
public void M(long i)
{
Console.WriteLine("B::M(long) called");
}
}
class Test
{
static void Main()
{
B b = new B();
int i = 0;
b.M(i);
}
}
Cosa viene visualizzato a console? Qui non abbiamo C ma non vuol per niente dire che sia più semplice! :-)
- A. B::M(long) called
- B. B::M(int) called