在Visual Studio 2012中创建新的C#Windows窗体应用程序时,它有一个包含Properties
文件的Resources.resx
文件夹。
如何访问此文件?
我试过了:
ResourceManager rm=new ResourceManager("Resources.resx",typeof(MyClass).Assembly);
string s=rm.GetString("MyString");
但是我得到了System.Resources.MissingManifestResourceException
,因为出于某种原因,它会将.resources
附加到文件名,因此它正在寻找Resources.resx.resources
。
然后我将.resources
附加到文件名以查看它是否真的有效。它没有,同样的例外,为什么?
我也尝试使用ResxResourceReader
类,但它在目录中查找resx文件,而我试图访问的这个特定resx文件没有存储在目录中,它被编译到我的程序集中所以这似乎也无济于事。
我认为这很简单,也许就是这样,我只是忽略了什么?
如果不简单,我不妨创建一个C#类并对我的字符串进行硬编码(我现在只需要的资源类型)。
另一个问题:如果将resx文件编译到你的exe中,这是否意味着你不能在运行时更改它的值?
答案 0 :(得分:0)
很简单(通常)。
使用Properties类!
Properties.Resources.MyString
您在解决方案资源管理器中看到的Properties文件夹不仅仅是一个奇特的文件夹; p Visual Studio会生成一个类来轻松访问您的所有资源。