私は3つのクラスを持っています。A というインターフェイスと、A を実装する B および C。また、B には C のインスタンスがあります。A のメソッドを null にすることはできません。ただし、C は時々 null を返すことがあります。クラス B は C インスタンスのメソッドをチェックし、C の戻り値が null の場合は、自己値 (B からの値) を返します。
public abstract class A
{
bool abstract method1();
bool abstract method2();
}
public class B:A
{
public C c;
override bool method1()
{
//if c.method1 is not null return c.method1() otherwise do some other functionality
}
}
public class C:A
{
?
}
パフォーマンス上の問題があるため、例外をスローしたくありません。オーバーライド クラスの型を nullable に変更できないため、C クラスを実装するにはどうすればよいですか?