次のことを行う戻り値の型を持つメソッドFruit
があります。
Search for the right apple, if it matches return it; else
Search for the right banana, if it matches return it; else
Search for the right orange, if it matches return it; else
return null
Fruit は、次のようなインターフェイスです。
bool Rotten { get; set; }
問題は、私がそれを使用しようとするときです:
store.GeTAFruit("magic apple").Rotten;
果物が見つからない場合は null を返し、NullReferenceException
.
もちろん、try catch で囲むこともできますが、これは、この関数を使用するたびに、try catch で囲む必要があることを意味します。これは、まったく良い考えとは思えません。
私はこの問題の解決策を探しているか、むしろこれに対する最善のアプローチを探しています。