2017-05-07 77 views
0

我已經在我的C#代碼定義爲面具定義的模板標識其實際價值:評價在C#

public const uint GFDEVICE_OUTPUTS_REFRESH_ALL = 0xFFFFFFFF; 

我想用這個名字(GFDEVICE_OUTPUTS_REFRESH_ALL),而不是實際值(0xFFFFFFFF)我的配置文件,因此我需要讀取掩碼的常量名稱並將其轉換爲實際的uint值。在XML CFG文件中的條目

例子:

entry ="display mask" value="GFDEVICE_OUTPUTS_REFRESH_ALL" 

當讀取配置文件,我想讀的字符串值GFDEVICE_OUTPUTS_REFRESH_ALL並轉換爲的0xFFFFFFFF UINT在運行時。
請注意我沒有在我的代碼中使用枚舉掩碼。我的面具被定義爲uint常量作爲上面的狀態。

回答

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