Bevorzugte Methode zum Festlegen von Standardwerten für Nullable-Eigenschaften?

8

Ich bin in einem Dilemma. Die (reduzierte) Aufgabe besteht darin, die folgende Datenhalterklasse neu zu gestalten:

%Vor%

, um die Anforderung zu erfüllen, dass null nicht zurückgegeben werden darf. Ich kann mir zwei Wege vorstellen, um das zu erreichen, und nach eingehender Überlegung von 15 Minuten kann ich mich einfach nicht entscheiden, welches man bevorzugt.

Vorgehensweise nach Konstruktor.

%Vor%

Annäherung nach Eigentum.

%Vor%

Beachten Sie, dass das Erstellen der Stuff -Instanzen möglicherweise mithilfe des Konstruktors und der Initialisierung ausgeführt wird, wenn dies von Bedeutung ist. Soweit ich informiert bin, gibt es keine weiteren Einschränkungen (aber Sie wissen, wie die Spezifikationen der Kunden nicht immer die Realität widerspiegeln).

    
Konrad Viltersten 12.06.2013, 11:43
quelle

3 Antworten

17

Sie können nur sicherstellen, dass null niemals zurückgegeben wird, wenn Sie die Eigenschaft verwenden:

%Vor%

Derselbe Ansatz wird von Textsteuerelementen (z. B. in ASP.NET) verwendet, wobei die Eigenschaft Text niemals null , sondern String.Empty zurückgibt.

Zum Beispiel ( ILSpy ):

%Vor%     
Tim Schmelter 12.06.2013, 11:47
quelle
5

Sie können die Logik auch im Setter und nicht im Getter implementieren, so dass Ihr Backfield immer einen gültigen Wert hat

%Vor%     
vc 74 12.06.2013 11:50
quelle
4

Um nur eine weitere Antwort hinzuzufügen, können Sie auch einen Standardwert für ein Zeichenfolgenobjekt in einer einzelnen Anweisung festlegen;

%Vor%     
uk2k05 21.10.2016 07:20
quelle

Tags und Links