1

내가 등록/문자열/두 Reources을했습니다 (CS-CZ.resx는 default.resx)다국어 응용 프로그램을 사용하여 리소스는 TypeInitializationException

나는이 방법을 설정 :

SetLanguage("cs-CZ"); 

그리고

public static string Translate(string name) 
    { 
     return strings.GetString(name); 
    } 

mainStrip.Text = Translate("mainStrip"); 
,536,

하지만 TypeInitializationException이 발생합니다. 뭐가 문제 야?

+0

예외 정보를 게시 할 수 있습니까? –

+0

나는 단지 그것을 보여주고 싶다. SetLanguage 메서드에서 해당 TypeInitializationException이 발생했습니다. 나는이'return Properties.Strings.cs_CZ.ResourceManager.GetString (name);'을 Translate 메쏘드에 넣으려고했다. 그리고 setlanguage 메소드를 주석 처리하십시오. 이제 작동합니다. 그래서 문제는 SetLanguage 메서드입니다. – sczdavos

+0

InnerException을보고 잘못된 점을 찾으십시오. –

답변

1

TypeInitializationException은 주로 개인 정적 생성자를 사용하기 때문에 발생합니다. SetLanguage 메서드를 호출하면이 생성자가 호출되어이 예외가 Throw됩니다. 따라서이 메서드 앞에 new 또는 Class 생성자를 생성하십시오.

Fxp. 여기 좋은 예가 있습니다 : http://www.dotnetperls.com/typeinitializationexception

관련 문제