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 Client
Eigenschaft immer festgelegt werden sollte (dh nicht null), damit Client == null
sie niemals auftritt und der ID-Wert 0
ohnehin 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 0
ein falscher Wert für Id
und wenn die Client
Eigenschaft immer eingestellt werden sollte , sollten Sie eine werfen exception
in der , get
wenn die Client
Eigenschaft null sein geschieht
3) Wenn die Client
Eigenschaft immer festgelegt werden soll, kehren Sie einfach zurück Client.Id
und lassen den Code eine NullRef
Ausnahme Client
auslösen, wenn die Eigenschaft zufällig null ist.
Welche davon ist am richtigsten? Oder gibt es eine vierte Möglichkeit?