Config Datei - Konvertieren

09/01/2008 - 11:09 von Thomas Bauer | Report spam
Hallo,

ich habe eine Config Datei.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="Directory" value="C:\_Database\" />
<add key="CloseApplication" value="0" />
<add key="Extension" value="*.txt,*.log" />
</appSettings>
</configuration>

Diese lese ich aus.

string Directory;
bool CloseApplication;

Directory System.Configuration.ConfigurationManager.AppSettings["Directory"];
string help System.Configuration.ConfigurationManager.AppSettings["CloseApplication"];
Int32 ret = Convert.ToInt32( help );
// #####// CloseApplication = Convert.ToBoolean( help );


if ( ret == 0 )
CloseApplication = false;
else
CloseApplication = true;

A) Warum kann ih nicht nach Boolean konvertieren?
B) Sind die Werte in der Config überhaupt alle strings?
C) geht das auch direkt in boolean, double, etc?

Grüße Thomas
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
09/01/2008 - 15:43 | Warnen spam
Hallo Thomas!

"Thomas Bauer" schrieb:
string Directory;
bool CloseApplication;

Directory >System.Configuration.ConfigurationManager.AppSettings["Directory"];
string help >System.Configuration.ConfigurationManager.AppSettings["CloseApplication"];
Int32 ret = Convert.ToInt32( help );
// #####// CloseApplication = Convert.ToBoolean( help );

if ( ret == 0 )
CloseApplication = false;
else
CloseApplication = true;

A) Warum kann ih nicht nach Boolean konvertieren?



'AppSettings[...]' gibt einen 'string' zurück.

Du könntest über 'bool.Parse' die Zeichenfolge in einen 'bool' umwandeln,
sofern die Wahrheitswerte Wahr und Falsch durch die in 'bool.TrueString' und
'bool.FalseString' enthaltenen Werte dargestellt werden.

B) Sind die Werte in der Config überhaupt alle strings?



Intern ja. Wenn Du jedoch über
'Properties.Settings.Default.<Einstellungsname>' darauf zugreifst, kann die
Eigenschaft auch einen anderen Datentyp als 'string' besitzen.

C) geht das auch direkt in boolean, double, etc?



Ja. Schau Dir einfach an, welchen Code VS erstellt, wenn Du im
Projektmappenexplorer unter "Properties" -> "Settings.settings" eine
Einstellung vom Typ 'bool' anlegst.

M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Ähnliche fragen