如何访问C#项目中引用的VB.Net模块中的公共变量?

如何访问C#项目中引用的VB.Net模块中的公共变量?,c#,.net,vb.net,module,global-variables,C#,.net,Vb.net,Module,Global Variables,我有一个Visual Studio 2013解决方案,其中包含一个VB.Net项目(GL2015-编译为DLL)和一个C#项目(PBIS-编译为Windows窗体)。GL2015 VB.Net DLL在我的PBIS C#项目中引用。基本上,我正在将一个VB.NET应用程序合并到我的C#应用程序中。VB.Net(GL2015)项目有多个模块,其中一个模块只包含全局变量。我接受了它的输入表单,并在我的C#项目中创建了一个。在我的C#应用程序中为表单移植代码时,我注意到它引用了这些全局变量 这是我的问

我有一个Visual Studio 2013解决方案,其中包含一个VB.Net项目(GL2015-编译为DLL)和一个C#项目(PBIS-编译为Windows窗体)。GL2015 VB.Net DLL在我的PBIS C#项目中引用。基本上,我正在将一个VB.NET应用程序合并到我的C#应用程序中。VB.Net(GL2015)项目有多个模块,其中一个模块只包含全局变量。我接受了它的输入表单,并在我的C#项目中创建了一个。在我的C#应用程序中为表单移植代码时,我注意到它引用了这些全局变量

这是我的问题。如何从VB.Net模块中的C#项目中引用这些“全局”变量

VB.Net GL2015项目 Global_Stuff.vb

Public Module Global_Stuff

'These items should be populated by PBIS data:
Public CustomerName, CustomerLocation, EndUser, EndUserLocation, Application, PurchaseOrderNumber, JobProposalNumber, ItemNumber As String

Public MaterialsList As List(Of String)
Public ApplicationsPath, MaterialPropertiesFile, ETODBConnectionString As String
Public ErrorMessage As String
Public ExistingProposal, JobMode, ExistingJob As Boolean
End Module
C#PBIS项目GL2015Form.cs

using GL2015;
...
Global_Stuff.ApplicationsPath = nodeToFind.InnerText;
...
MaterialPropertiesFile = nodeToFind.InnerText;
我应用了GL2015;指令位于顶部,但无法引用全局_Stuff模块。这意味着我必须在VB.NET项目中引用的所有全局变量前面插入一个“Global_Stuff.”(请参见ApplicationPath)


有没有办法在VB.NET项目模块中引用这些全局变量,而不必在我的C#项目中对它们进行限定。在我的C#项目中,有100多个全局变量被引用了700多次。

C#没有全局变量的概念,因此除了对其进行限定之外,您可以做的事情不多。我不确定C#6的static
using
是否适用于这里,我必须研究vb是否真的在后台创建了一个静态类。在C#6中,您可以在顶部添加一个“using static Global#u Stuff;”,然后您可以直接访问Global#Stuff的(静态)成员。在使用C#6之前,您运气不好(并不是说使用限定符太麻烦)。VB模块的编译方式与C#静态类完全相同。在VB中使用模块成员的能力是该语言特有的语法糖,以使其与VB6处理模块的方式保持一致。在C#中,对待模块成员的方式与对待静态类成员的方式相同。这意味着使用类型名限定成员,您也可以在VB中这样做。