Ich habe eine Eigenschaft, die ich als int?
in meiner Settings.settings-Datei eingeben möchte. Als ich int?
verwende ich einen Laufzeitfehler erhalten:Zulässiger Int-Typ in Settings.settings erlaubt?
System.NullReferenceException: Objektverweis nicht auf eine Instanz eines Objekts festgelegt ..
ich einen String-Typ als Behelfslösung, wo eine Prüfung für null Arbeiten verwenden können, aber ich muss die Zeichenfolge analysieren und Fehler behandeln, wenn das Parsen nicht funktioniert.
Wenn ich den Wert auf null setzen kann, kann ich die in der Einstellungsdatei dokumentierte Eigenschaft beibehalten, obwohl es offensichtlich ist, dass kein Wert festgelegt wurde. Wenn nicht gesetzt verwende ich einen programmierten Standardwert:
int? configuredNumberOfLimits = Settings.Default.RequiredNumberOfLimits;
if (configuredNumberOfLimits == null )
{
requiredNumberOfLimits = DEFAULT_REQUIRED_NUMBER_LIMITS;
}
Verwenden var statt? – Gage
@ Gage: Ich denke, das ist der Punkt fehlt. Er möchte die Einstellung * definiert * als 'int?' Definieren. –