C#Visual Basic.NET名称空间My的替代方案

C#Visual Basic.NET名称空间My的替代方案,c#,.net,vb.net,C#,.net,Vb.net,我是一名VB.NET程序员,但我对C#还不熟悉,现在我正在使用本地资源文件(.resx)的C#project工作 使用VB.NET,我可以通过My.Resources.访问资源文件中的变量。但在C#中,我找不到我的名称空间的任何替代方案,但如果我用替换我的名称空间,我仍然可以访问资源 也许还有其他方法可以访问我的本地资源?没有内置的my命名空间,但您可以引用Microsoft.VisualBasic.dll,并拥有它 签出:如果您必须使用与My名称空间等价的名称空间,那么C#中实际上有这样一个东

我是一名VB.NET程序员,但我对C#还不熟悉,现在我正在使用本地资源文件(.resx)的C#project工作

使用VB.NET,我可以通过My.Resources.访问资源文件中的变量。但在C#中,我找不到我的名称空间的任何替代方案,但如果我用替换我的名称空间,我仍然可以访问资源


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

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

签出:

如果您必须使用与
My
名称空间等价的名称空间,那么C#中实际上有这样一个东西。它是
Microsoft.VisualBasic.Devices.MyServices
名称空间。要使用它,必须添加对Microsoft.VisualBasic.dll的引用,并使用Microsoft.VisualBasic.Devices添加
到您的代码文件。有关此路线,请参见此处:

然而,我不建议这样做。相反,要访问资源,只需像这样使用
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文件。不要编辑它。

在C#中没有这样的东西。如果愿意,您可以使用C#中的(大部分)My namespace便利类: