Mi chiedo quale sia il motivo dell'invocazione del metodo che stampa "double in derivato". Non ho trovato alcun indizio per questo nella specifica C#.C# Richiamo del metodo di overload con Ereditarietà
public class A
{
public virtual void Print(int x)
{
Console.WriteLine("int in base");
}
}
public class B : A
{
public override void Print(int x)
{
Console.WriteLine("int in derived");
}
public void Print(double x)
{
Console.WriteLine("double in derived");
}
}
B bb = new B();
bb.Print(2);
http://msdn.microsoft.com/en-us/library/aa691338%28v=vs.71%29.aspx – spender
Se riesci a decifrare le regole 7.4.2.2 e 7.4.2.3, probabilmente sei più intelligente di me, ma sarà lì da qualche parte. – spender
@spender, Potrebbe essere lì, ma è scritto male :). – Silvermind