我々は二つのクラス(AとB)が定義されていると仮定します。私たちが書く場合 オーバーライドと隠蔽方法
class A
{
public new virtual string ToString()
{
return "I'm class A object.";
}
}
class B : A
{
public override string ToString()
{
return "I'm class B object.";
}
}
を:
A a = new B();
Console.WriteLine(a);
"B"(namespace.B
)しますコンソールに表示されます。
つまり、クラスA(System.Object.ToString())の暗黙の祖先のToString()メソッドが呼び出されます。
クラスAまたはBではなく、System.Objectクラスのメソッドを呼び出す理由は何ですか?
このhttps://stackoverflow.com/questions/10415900/what-isを助けることができます-public-new-virtual-void-method-mean –