Wir haben diesen Code, der vereinfacht so aussieht:
public class Room
{
public Client Client { get; set; }
public long ClientId
{
get
{
return Client == null ? 0 : Client.Id;
}
}
}
public class Client
{
public long Id { get; set; }
}
Jetzt haben wir drei Standpunkte.
1) Dies ist ein guter Code, da die ClientEigenschaft immer festgelegt werden sollte (dh nicht null), damit Client == nullsie niemals auftritt und der ID-Wert 0ohnehin eine falsche ID angibt (dies ist die Meinung des Verfassers des Codes ;-))
2) Sie können nicht auf den Anrufer verlassen , um zu wissen , dass 0ein falscher Wert für Idund wenn die ClientEigenschaft immer eingestellt werden sollte , sollten Sie eine werfen exceptionin der , getwenn die ClientEigenschaft null sein geschieht
3) Wenn die ClientEigenschaft immer festgelegt werden soll, kehren Sie einfach zurück Client.Idund lassen den Code eine NullRefAusnahme Clientauslösen, wenn die Eigenschaft zufällig null ist.
Welche davon ist am richtigsten? Oder gibt es eine vierte Möglichkeit?