2017-05-07 9 views
0

C#에서의 실제 값에 마스크 식별자를 정의 평가하기 :내가 마스크로 내 C# 코드에서 정의한

public const uint GFDEVICE_OUTPUTS_REFRESH_ALL = 0xFFFFFFFF; 

내가 대신 실제 값 (0xFFFFFFFF)에서의 그 이름 (GFDEVICE_OUTPUTS_REFRESH_ALL)를 사용하고 싶습니다 내 설정 파일 및 따라서 마스크의 상수 이름을 읽고 실제 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]);