Csharp/C#教程:从字符串资源动态获取字符串分享


从字符串资源动态获取字符串

我正在开发一个本地化的C#.NET应用程序,我们正在使用strings.resx文件来翻译应用程序中的硬编码字符串。 我使用以下代码来提取它们:

 using MyNamespace.Resources ... string someString = strings.someString; 

但是,现在我希望能够在调用中定义字符串的名称,如下所示:

 string someString = GetString("someString"); 

我一直在玩ResourceManager ,但我找不到将它指向我的strings.resx文件的方法。

我怎么做?

有点搜索就可以了。 我的strings类中有正确的ResourceManager

 ResourceManager rm = strings.ResourceManager; string someString = rm.GetString("someString"); 

ResourceManager.GetString应该这样做。

从MSDN中删除示例:

 ResourceManager rm = new ResourceManager("RootResourceName", typeof(SomeClass).Assembly); string someString = rm.GetString("someString"); 

我使用ASP.NET Core MVC遇到了同样的问题,并设法使用它来解决它

 ResourceManager rm = new ResourceManager(typeof(YourResourceClass)); string someString = rm.GetString("someString"); 

与@ Vlad的解决方案非常相似,但我有一个MissingManifestResourceException

你可以编写一个这样的静态方法:

 public static string GetResourceTitle(string key) { ResourceManager rm = new ResourceManager(typeof(T)); string someString = rm.GetString(key); return someString; } 

随叫随到:

 var title= GetResourceTitle<*YouResourceClass*>(key); 

当您想要一个generics函数来获取任何Resource文件的String时,它很有用。

有很简单的方法可以做到这一点

  [NameOfyourResxfile].ResourceManager.GetString("String Name"); 

在你的情况下

上述就是C#学习教程:从字符串资源动态获取字符串分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 strings.resx.ResourceManager.GetString("someString"); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1005991.html

(0)
上一篇 2021年12月28日
下一篇 2021年12月28日

精彩推荐