클래스 라이브러리 프로젝트에 리소스 파일이 있습니다. 이 리소스 파일을 사용하여 사용자가 볼 수있는 다양한 메시지를 보류합니다.ResourceManager.GetString()을 사용할 때 어떻게 마법 문자열을 사용하지 않는가?
예를 들어 리소스 이름은 "InvalidEmailAddress"이고 en-US 리소스 파일의 값은 "잘못된 전자 메일 주소"입니다.
내가이 일을하고있는 ResourceManager에의하여 GetString (문자열) 메소드를 호출
는 :return resourceManager.GetString("InvalidEmailAddress");
그러나 이것은 나에게 정말 나쁜 것 같다. 누군가 자원의 이름을 변경하면 어떨까요? 이제 내 진술은 null 값을 반환합니다.
이 문제를 해결할 방법이 있습니까?
업데이트 : 현지화가 중요한 요소입니다. 리소스 관리자는 문화권을 변경하고 적절한 문자열 값을 얻을 수 있도록하기 위해 사용됩니다.
"사용자 지정 도구"속성을 "PublicResXFileCodeGenerator"로 변경해야 할 수도 있습니다. – McGarnagle
이것은 ResourceManager를 우회합니다. 현지화는 계속 진행 되나요? 예를 들어 CurrentCulture를 "de-GR"로 설정하면 리소스 관리자가 독일어 등가 문자열을 가져 오기 시작할 정도로 똑똑합니다. –
@SailingJudo, Why? 코드를 생성 한 적이 있습니까? –