2017-05-07 6 views
0

J'ai un masque défini dans mon code C# comme:ÉVALUER défini Identificateur de masque à sa valeur réelle en C#

public const uint GFDEVICE_OUTPUTS_REFRESH_ALL = 0xFFFFFFFF; 

Je voudrais utiliser ce nom (GFDEVICE_OUTPUTS_REFRESH_ALL) au lieu de la valeur réelle (0xFFFFFFFF) dans mon fichier de configuration et par conséquent j'ai besoin de lire le nom constant du masque et de le convertir en valeur réelle uint.

Exemple d'une entrée dans le fichier XML cfg:

entry ="display mask" value="GFDEVICE_OUTPUTS_REFRESH_ALL" 

Lors de la lecture du fichier de configuration, je veux lire la valeur de chaîne GFDEVICE_OUTPUTS_REFRESH_ALL et convertir en uint de 0xFFFFFFFF lors de l'exécution.
Veuillez noter que je n'utilise pas d'énumérations dans mon code pour les masques. Mes masques sont définis comme des constantes uint comme état ci-dessus.

Répondre

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]);