Ich verwende Konfigurationsbindung in einer ASP.NET Core 1.1-Lösung. Grundsätzlich hat ich einigen einfachen Code für die Bindung in meinem ConfigureServices Startup Abschnitt, der wie folgt aussieht:Benutzerdefinierte Konfigurationsmappe für Eigenschaft
services.AddSingleton(Configuration.GetSection("SettingsSection").Get<SettingsClass>());
Die Falte ist, dass meine Klasse als int-Eigenschaft, die normalerweise in einen int-Wert in der Konfigurationsdatei gebunden ist, könnte aber stattdessen an die Zeichenfolge "disabled" gebunden werden. Unter der Haube möchte ich, dass die Eigenschaft den Wert -1 erhält, wenn sie an die Zeichenfolge "disabled" gebunden ist.
Es kann komplizierter sein als dies, aber ich vereinfache der Kürze halber.
Meine Frage ist dies: Wie stelle ich einen benutzerdefinierten Binder/Konverter für die Konfiguration Bindung für eine bestimmte Eigenschaft in SettingsClass überschreibt, so dass bei einer Zeichenfolge Konvertierung "deaktiviert" in -1 konvertiert, anstatt zu werfen eine Ausnahme, die "deaktiviert" nicht zu einem Int32 konvertiert werden kann?