2017-03-23 2 views
1

Ich verwende Visual Studio Express 2010 und ich habe eine Windows Form App, die Anwendungseinstellungen verwendet.Warum werden Visual Studio-Einstellungen alle als String serialisiert?

Ich habe einige Einstellungen mit Visual Studio IDE festgelegt. Ich habe Typen wie Integer oder Boolean angegeben. Die Variablen sind gut typisiert, da ich die Option Strict On habe und eine typisierte Variable mit der passenden Einstellung verbinden kann.

Meine Frage ist in der resultierenden AppName.exe.config: alle Einstellungen sind als String markiert. Warum ist es nicht als der richtige Typ serialisiert?

Das folgende Beispiel ist eine ganze Zahl in meinem Code:

<setting name="timeout_reviewed" serializeAs="String"> 
    <value>10000</value> 
</setting> 

Antwort

4

Erstens, denken Sie daran, dass die Einstellungsdatei Text basiert, so: eine Art von String-Konvertierung ist nicht verwunderlich. Die einfachste Möglichkeit, den Integer-Wert 10000 im Text zu speichern, ist die Zeichenfolge "10000".

Aber: there are four options:

  • string
  • xml
  • binary
  • custom

Jetzt; Diese Daten sind nicht XML, daher können wir die Option xml ignorieren. Und die binary und custom Optionen erfordern viel zusätzliche Arbeit von Ihnen; so - string ist die pragmatischste und nützlichste Implementierung, die 98% der gebräuchlichen Verwendung löst und gleichzeitig über jeden Texteditor sehr einfach zu verwalten ist. Für exotische Szenarien können Sie immer noch Ihr eigenes Ding, aber Sie müssen härter daran arbeiten.

+0

Vielen Dank, sehr klare Erklärung. Ich frage mich, weil Benutzer diese Konfigurationsdatei ändern und es könnte ein Hinweis für sie sein, wenn es der richtige Typ war. Ich habe eine "Anleitung zum Ändern" zu meiner App hinzugefügt, um sie zu führen. Konnte meinen Link nicht in die Hände bekommen. Sehr hilfreich. – chateaur

Verwandte Themen