Im Moment arbeite ich an einem einfachen Programm, und das ist ein Problem, über das ich viele Male nachgedacht habe. Oftmals führe ich meine Methoden zweimal aus, weil ich den Rückgabewert überprüft habe, bevor sie ausgeführt werden, und ich würde gerne wissen, ob es einen Weg gibt, wie ich das verhindern kann, wie den zurückgegebenen Wert der Methode, gegen die ich mich wende. Es ist ziemlich schwer zu erklären, hier ist ein Beispiel aus meinem Programm.C# Verwendet zurückgegebenen Wert von Methode in IF/ELSE-Anweisung
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;
}
}
}
Capture den Rückgabewert in eine Variable, verwenden Sie die Variable danach: 'var result = Domain.ShopFloor.Shopfloor.GetOrder (WorkOrd) ... if (Ergebnis! = Null) Ergebnis zurückgeben;' –
Sie sollten auch die ['using' Direktive] (https://msdn.microsoft.com/en-us/library/sf0df423.aspx), damit Sie die gesamten Namespace-Pfade nicht wiederholt in Ihrem Code verwenden müssen. Es empfiehlt sich auch, die Klassen nicht so zu benennen, wie der Namespace, in dem sie sich befinden. – juharr