resx文件访问

时间:2014-05-13 09:44:55

标签: c# .net visual-studio resx

在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中,这是否意味着你不能在运行时更改它的值?

1 个答案:

答案 0 :(得分:0)

很简单(通常)。

使用Properties类!

Properties.Resources.MyString

您在解决方案资源管理器中看到的Properties文件夹不仅仅是一个奇特的文件夹; p Visual Studio会生成一个类来轻松访问您的所有资源。