与えられた:
interface I
{
}
class B: I
{
}
class C: I
{
}
class A
{
public void Method(B arg)
{
}
public void Method(C arg)
{
}
public void Method(I arg)
{
// THIS is the method I want to simplify.
if (I is B)
{
this.Method(arg as B);
}
else if (I is C)
{
this.Method(arg as C);
}
}
}
この種のインタラクションを設計するためのより良い方法があることは知っていますが、詳細を説明するには時間がかかりすぎるため、これは不可能です。このパターンは何度も繰り返されるため、条件付きロジックを 1 行だけ使用できる一般的な実装に置き換えたいと考えています。この一般的なメソッド/クラスを実装する簡単な方法はわかりませんが、私の本能はそれが可能であるべきだと教えてくれます。
どんな助けでも大歓迎です。