私は、次の簡単なコードオーバーロードされたオーバーライドされたメソッドを呼び出す方法
abstract class A
{
public abstract void Test(Int32 value);
}
class B : A
{
public override void Test(Int32 value)
{
Console.WriteLine("Int32");
}
public void Test(Double value)
{
Test((Int32)1);
}
}
私はこのコードを実行したときのラインテスト((のInt32が)1)による無限再帰にスタックオーバーフローが発生しています。正しく私が見つけた(整数パラメータ付き)適切なメソッドを呼び出すための唯一の可能な方法は
(this as A).Test(1);
である。しかし、両方の方法がテスト公開され、私は、ユーザーが両方を呼び出すことができて喜んでいるので、これは、私のために適切ではありません方法?