以无类型方式从资源文件中获取字符串

时间:2010-12-06 09:11:44

标签: c# .net resources localization resx

我正在开发一个ASP.Net项目,该项目的所有翻译都在Translations.resx文件中。是否有一种简单的方法可以以无类型的方式获取翻译的字符串?

我不想做

Translations.TranslateThisKey

,而是像

Translations["TranslateThisKey"]

我需要这个,因为密钥是来自外部资源的代码。

3 个答案:

答案 0 :(得分:2)

Resources.ResourceManager.GetString("NAME_OF_YOUR_STRING_IN_RESX_FILE")

答案 1 :(得分:2)

试试这个

var Translations = new ResourceManager("MyResources", 
    Assembly.GetExecutingAssembly())
        .GetResourceSet(CultureInfo.CurrentCulture, false, true)
        .Cast<DictionaryEntry>()
        .Where(e => e.Value is string)
        .ToDictionary(e => e.Key, e => (string) e.Value);

var result = Translations["TranslateThisKey"];

答案 2 :(得分:0)

我认为您需要的是ResourceManager