直接获取资源是否更好?将ResourceManager替换为resx
本文关键字:ResourceManager 替换 resx 更好 获取 资源 是否 | 更新日期: 2023-09-27 18:08:19
我知道从资源文件中获取字符串的两种方法。
方法一:直接访问
string str = _NAMESPACE.Properties.Resources.HelloWorld;
方法二:通过ResourceManager.
ResourceManager rm = new ResourceManager("_NAMESPACE.Properties.Resources", Assembly.GetExecutingAssembly());
string str = rm.GetString("HelloWorld");
如果有多个本地化资源文件,这两种方法都能得到正确的本地化字符串。
如果我在字符串key中输入错误,method1将在构建时失败。Method2直到运行时才会失败。基于这个理由,我认为method1比method2好。
我在论坛里发现了一些类似的问题。然而,我的问题仍然得不到很好的答案。
为什么调用ResourceManager类比直接通过名称加载资源更好?
需要使用ResourceManager + GetString来支持文化或者我可以直接指向资源文件?
method1真的更好吗?
我相信第一种方法更好,因为当你使用第二种方法时,你正在创建资源管理器的新实例,我认为这是不必要的内存使用。
编辑*看完这篇文章:https://msdn.microsoft.com/en-us/library/7k989cfy (v =应用程序). aspx
看起来它们基本上是相同的,当使用资源类直接访问资源时,内部使用资源管理器类来创建对象的实例。