昨天在使用资源文件上浪费了半天,原因竟然是ResourceManager的构造函数的第一个参数是项目默认命名空间名 + 资源文件名,帮助上可不是这么说的……
使用步骤:
1 在项目中添加一个 MyResource.resx,位于项目根目录下
2 在MyResource.resx中添加一行数据,name为MyName,value为字符串
3 在代码中:
ResourceManager rsManager = new ResourceManager("默认命名空间名.MyResource",typeof(类名).Assembly);
String strResource = rsManager.GetString("MyName");
String strResource = rsManager.GetString("MyName");
刚开始我用的第一个参数是资源文件名,运行,报找不到资源文件的错,然后用程序集名 + 资源文件名,不行,用命名空间名 + 资源文件名,还不行,然后开始查帮助,也没找到原因。这是帮助的原文:
public ResourceManager(
string baseName,
Assembly assembly
);
参数
baseName
资源的根名称。例如,名为“MyResource.en-US.resources”的资源文件的根名称为“MyResource”。
assembly
资源的主 Assembly。
string baseName,
Assembly assembly
);
参数
baseName
资源的根名称。例如,名为“MyResource.en-US.resources”的资源文件的根名称为“MyResource”。
assembly
资源的主 Assembly。
最后想到我改过项目的默认命名空间,于是就用项目现在的默认命名空间试了下,通过 ^-^