C# - Prüfen ob integer-Eigenschaft festgelegt ist

Ich bin Validierung einige Eigenschaften und ich muss wissen, ob long oder integer-Werte sind, die von anderen Schichten.

Beispielsweise dieser Klasse::

public class Person 
{
    public int Age {get;set;}
}

Wenn ich eine neue Instanz von Person, die Alter bekommt den Wert 0. Aber ich habe, um zu überprüfen, ob die Alter wurden eingestellt, weil die Alter null werden kann (nicht in diesem Kontext natürlich).

Einer Lösung, habe ich gedacht, ist die Verwendung der int als nullable-integer (public int? Alter) und im Konstruktor von Person die Age als null.

Aber ich versuche es zu vermeiden, weil ich hätte zu ändern, zu viele Klassen, nur um zu überprüfen, ob Alter.HasValue und verwenden Sie es als Alter.Wert.

Irgendwelche Vorschläge?

  • initialisieren auf -1?
  • Die Tatsache, die Sie ändern müssen viele Klassen ist ein schwaches argument, als mögliche Lösung wird mit beträchtlichen ändern.
  • Es klingt wie Sie möchten, dass Ihre Wert-Typen, um eine zusätzliche "nullable" - Zustand. Die, natürlich, ist genau das, was int? ist für.
InformationsquelleAutor Gui | 2011-05-10
Schreibe einen Kommentar