2017-05-07 1 views
0

Ich habe eine Maske in meinem C# -Code wie folgt definiert:Evaluate Mask Identifier zu den tatsächlichen Wert in C# definiert

public const uint GFDEVICE_OUTPUTS_REFRESH_ALL = 0xFFFFFFFF; 

Ich möchte diesen Namen verwenden (GFDEVICE_OUTPUTS_REFRESH_ALL) anstelle des tatsächlichen Wertes (0xFFFFFFFF) in Meine Konfigurationsdatei und daher muss ich den konstanten Namen der Maske lesen und in den tatsächlichen uint Wert konvertieren.

Beispiel eines Eintrags in XML CFG-Datei:

entry ="display mask" value="GFDEVICE_OUTPUTS_REFRESH_ALL" 

Wenn die Config-Datei zu lesen, möchte ich den String-Wert GFDEVICE_OUTPUTS_REFRESH_ALL lesen und zu uint von 0xFFFFFFFF zur Laufzeit umwandeln.
Bitte beachten Sie, dass ich in meinem Code keine Masken für Masken verwende. Meine Masken sind als UINT-Konstanten wie oben definiert.

Antwort

1
<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
<appSettings> 
<add key="display mask" value="GFDEVICE_OUTPUTS_REFRESH_ALL=0xFFFFFFFF" /> 
</appSettings> 
</configuration> 

string value = ConfigurationManager.AppSettings["display mask"]; 
Dictionary<string,uint> dic = new Dictionary<string,uint>(); 
string key = value.split('=')[0]; 
uint value = Convert.ToUInt(value.split('=')[1]); 
Verwandte Themen