2012-03-29 6 views
1

C#을 사용하면 리소스 파일을 역방향으로 조회해야합니다. ResourceManager 클래스를 사용하여 문자열 값을 가져 오는 방법을 알고 있지만 이제는 그 반대를 원합니다. 리소스 파일을 xml 파일로 먼저로드해야합니까?리소스 파일에서 역방향 조회?

내가하고 싶은 이유는 영어로 된 하드 코딩 된 열거 형과 리소스 파일에 영어와 스페인어 키 및 값이 포함되어 있기 때문입니다. 그래서 내 코드가 WorkflowSupport.Completed enum을 찾고 있지만 워크 플로가 "Completion"이 아니라 "Terminado"를 반환하면 실패합니다.

내가 특별히 할 노력하고 있어요 것은 :. 내가 워크 플로가에있는 단계를 반환하여 SharePoint 워크 플로우를

나는 "Terminado"를 반환합니다 그래서 대신에 "완료"반환하는이 워크 플로를 지역화 . 워크 플로우의 여러 상태 (완료, 취소, 재 할당, 종료 및 처리)와 일치하는 5 개의 하드 코드 값이있는 열거 형을가집니다. 워크 플로가 "Completed"대신 "Terminado"를 반환하므로 코드에서 "Terminado"를 열거 형 값 중 하나와 일치시킬 수 없으며 실패합니다. 내 리소스 파일에서 역방향 조회를 수행하고 싶습니다. 따라서 "Terminado"와 같은 값을 얻으면 "Completed"를 반환하고 열거 형 멤버 "Completed"에 성공적으로 일치시킬 수 있습니다. 이 작업을 수행 할 수있는 더 좋은 방법이 있다면

, 나는 모든 귀를입니다 :)

+0

enum 이름을 지역화 할 수있는 문자열 값과 비교하고 있습니까? – digEmAll

+0

예, 열거 형에서 .ToString() 메서드를 사용합니다. 그러나 현지화 된 문자열이 스페인어로되어 있고 열거 형이 영어로되어 있기 때문에 실패합니다. –

+0

하지만 왜이 작업을 수행하고 있습니까? enum 값을 "COMPLETED"라고 부를 수는 없으며 리소스 키는 eng : "Completed", esp : "Terminado"의 두 값으로 "COMPLETED"라고 부를 수 없습니다. 따라서 문화에 영향을받지 않는 키 "COMPLETED"를 통해 리소스에 액세스 할 수 있습니까? – digEmAll

답변

1

대신 자신의 값을 비교해야 열거의 문자열 값을 비교.

예를 들어, 콤보 박스로 작업하는 경우 텍스트와 값 (열거 형의 숫자 ​​값)이 각 항목에 대해 사용자가 텍스트를 선택하고 값을 열거 형으로 다시 캐스트합니다.

Forms 또는 WPF를 사용하고 있습니까?

+0

OP는 winforms 컨트롤이 아닌 SharePoint 워크 플로를 사용하고 있습니다. – digEmAll

관련 문제