3

我是一名 VB.NET 程序员,但我是 C# 新手,现在我正在处理使用本地资源文件 (.resx) 的 C# 项目。

使用 VB.NET,我可以通过My .Resources.< LocalResourceFile >.< MyVariable > 访问资源文件中的变量。但是在 C# 中,我找不到My namespace 的任何替代方案,但是如果我将My namespace 替换为 < MyProjectNamespace > ,我仍然可以访问资源。

也许还有其他方法可以访问我的本地资源?

4

4 回答 4

5

如果你绝对必须使用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;
...
}
于 2013-01-05T13:48:46.777 回答
2

您可以这样做,这实际上是等效的:

Bitmap image = Properties.Resources.picture000;
于 2013-01-05T13:49:35.583 回答
2

它仍然以相同的方式工作,只是不要将“My.Resources”放在名称前面。因此,如果您添加了一个名为“Resource1”的 .resx 文件并将一个名为“Foo”的字符串放入资源中,则变量名称为“Resource1.Foo”。

如果您将代码放在非默认命名空间中,那么您可能必须为其添加默认项目命名空间的前缀。像“WindowsFormsApplication1.Resource1.Foo”。如果您迷路了,那么只需查看自动生成的代码。在解决方案资源管理器窗口中,打开 .resx 文件旁边的节点并双击 Designer.cs 文件。不要编辑它。

于 2013-01-05T13:55:54.280 回答
0

没有内置的My命名空间,但您可以引用Microsoft.VisualBasic.dll并拥有它。

查看: http: //msdn.microsoft.com/en-us/library/ms173136 (v=vs.80).aspx

于 2013-01-05T13:48:27.347 回答