私はいくつかの同様の方法を持っています。CalculatePoint(...) および CalculateListOfPoints(...)。場合によっては、成功しない場合があり、呼び出し元にこれを示す必要があります。一般的なリストを返す CalculateListOfPoints の場合、空のリストを返し、呼び出し元にこれを確認するように要求することができます。ただし、 Point は値型であるため、そこで null を返すことはできません。
理想的には、メソッドが「似ている」ようにしたいと思います。1つの解決策は、それらを次のように定義することです
public Point CalculatePoint(... out Boolean boSuccess);
public List<Point> CalculateListOfPoints(... out Boolean boSuccess);
または代わりにポイントを返すには?失敗を示すために null を返します。ただし、null 非許容型にキャストし直す必要があることを意味しますが、これは過剰に思えます。
もう 1 つのルートは、ブール型の boSuccess を返し、結果 (ポイントまたはリスト) を「out」パラメーターとして持ち、それらを TryToCalculatePoint などと呼ぶことです...
ベストプラクティスとは?
編集:フロー制御に例外を使用したくない! 失敗が予想されることもあります。