今は簡単なプログラムを作成していますが、これは何度も考えてきた問題です。多くの場合、実行する前に戻り値をチェックするためにメソッドを2回実行しますが、これを防ぐ方法があるかどうかを知りたいと思います。説明するのは非常に難しいので、私のプログラムの実際の例がここにあります。C#IF/ELSEステートメントでMethodの戻り値を使用
public class SFDBRepository
{
public static Domain.SF.SFObject GetSFOrder(string WorkOrd)
{
//As you can see here i'm checking on the output of this method, before trying to return it.
if (Domain.SF.SF.GetOrder(WorkOrd) != null)
{
//If the value is not null (My method returns null if no result), return the object
return Domain.SF.SF.GetOrder(WorkOrd);
}
//Same thing happens here. My method runs twice every time almost.
else if(Domain.Building_DeliveryPerformance.Building_DeliveryPerformance.GetObject(WorkOrd) != null)
{
return Domain.Building_DeliveryPerformance.Building_DeliveryPerformance.GetObject(WorkOrd);
}
else
{
return null;
}
}
}
戻り値を変数に取り込み、それ以降は変数を使用します: 'var result = Domain.ShopFloor.Shopfloor.GetOrder(WorkOrd)... if(result!= null)return result;' –
また、 ['using'ディレクティブ](https://msdn.microsoft.com/en-us/library/sf0df423.aspx)を使用して、コード内で名前空間パス全体を繰り返し使用する必要はありません。また、ベストプラクティスは、クラスに名前空間があるのと同じ名前を付けることではありません。 – juharr