natrafiłem se przy krudzeniu na pewną rzecz i nie jestem do końca pewien jaki jest sens abstract override
czy abstract new
, trochę specyficzne połączenie.
ktoś mógłby mi rozjaśnić?
public class A
{
public override string ToString()
{
return "A";
}
}
public abstract class B : A
{
public abstract override string ToString();
}
public abstract class C : A
{
public abstract new string ToString();
}
public class D : B
{
public override string ToString()
{
return "D";
}
}
public class E : C
{
public override string ToString()
{
return "E";
}
}
var D = new D();
Console.WriteLine(D.ToString());
var E = new E();
Console.WriteLine(E.ToString());
=>
D
E
var D = new D();
Console.WriteLine(D);
var E = new E();
Console.WriteLine(E);
=>
D
A