我是一名 VB.NET 程序员,但我是 C# 新手,现在我正在处理使用本地资源文件 (.resx) 的 C# 项目。
使用 VB.NET,我可以通过My .Resources.< LocalResourceFile >.< MyVariable > 访问资源文件中的变量。但是在 C# 中,我找不到My namespace 的任何替代方案,但是如果我将My namespace 替换为 < MyProjectNamespace > ,我仍然可以访问资源。
也许还有其他方法可以访问我的本地资源?
如果你绝对必须使用My
命名空间的等价物,C# 中其实有这样的东西。它是Microsoft.VisualBasic.Devices.MyServices
命名空间。要使用它,您必须添加对 Microsoft.VisualBasic.dll 的引用并添加using Microsoft.VisualBasic.Devices;
到您的代码文件中。对于此路线,请参见此处:http: //msdn.microsoft.com/en-us/library/ms173136.aspx
我不会,但建议这样做。相反,要访问资源,您只需MyNamespace.Properties.Resources
像这样使用:
namespace SomeNamespace
{
...
var myFile = SomeNamespace.Properties.Resources.MyFile;
...
}
您可以这样做,这实际上是等效的:
Bitmap image = Properties.Resources.picture000;
它仍然以相同的方式工作,只是不要将“My.Resources”放在名称前面。因此,如果您添加了一个名为“Resource1”的 .resx 文件并将一个名为“Foo”的字符串放入资源中,则变量名称为“Resource1.Foo”。
如果您将代码放在非默认命名空间中,那么您可能必须为其添加默认项目命名空间的前缀。像“WindowsFormsApplication1.Resource1.Foo”。如果您迷路了,那么只需查看自动生成的代码。在解决方案资源管理器窗口中,打开 .resx 文件旁边的节点并双击 Designer.cs 文件。不要编辑它。
没有内置的My
命名空间,但您可以引用Microsoft.VisualBasic.dll
并拥有它。
查看: http: //msdn.microsoft.com/en-us/library/ms173136 (v=vs.80).aspx