Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VS C#VS VB中的变量范围_C#_Vb.net_Visual Studio 2012 - Fatal编程技术网

VS C#VS VB中的变量范围

VS C#VS VB中的变量范围,c#,vb.net,visual-studio-2012,C#,Vb.net,Visual Studio 2012,我有两个项目的解决方案-1个VB,1个C#。我想从我的C#项目中查看和编辑VB项目的全局变量。我已将字符串变量(在VB中)声明为公共共享 从我的C#项目中看不到它 我不熟悉C#,因此我不知道如何使用“Imports”语句来查看我的VB项目及其全局变量。我能做这个吗?还是我没有正确地思考这个问题?(我是一个VB的家伙,所以C#仍然有点神秘)。谢谢。VB和C都不支持全局变量 您需要从C#项目中添加对VB项目的引用,以便它可以使用其成员。 然后,您可以访问在中声明的类/模块的静态字段/属性: Clas

我有两个项目的解决方案-1个VB,1个C#。我想从我的C#项目中查看和编辑VB项目的全局变量。我已将字符串变量(在VB中)声明为公共共享

从我的C#项目中看不到它

我不熟悉C#,因此我不知道如何使用“Imports”语句来查看我的VB项目及其全局变量。我能做这个吗?还是我没有正确地思考这个问题?(我是一个VB的家伙,所以C#仍然有点神秘)。谢谢。

VB和C都不支持全局变量

您需要从C#项目中添加对VB项目的引用,以便它可以使用其成员。
然后,您可以访问在中声明的类/模块的静态字段/属性:

ClassName.PropertyName
VB和C都不支持全局变量

您需要从C#项目中添加对VB项目的引用,以便它可以使用其成员。
然后,您可以访问在中声明的类/模块的静态字段/属性:

ClassName.PropertyName

虽然VB支持模块级声明,但C#不支持。在C#中,VB模块将显示为静态类。在VB中,您还可以导入整个类并全局使用它们的共享/静态成员。这也是用C语言无法实现的

如果在VB中,您有:

Public Module MyDeclares

    Public MyGlobalString As String

End Module
然后在C#中,添加对该项目的引用,然后编写如下代码:

using MyProject;
并访问该字段:

MyDeclares.MyGlobalString = "Some text";
已编辑 如果要访问另一个声明为内部的程序集(VB中的friend)中的属性和方法,则需要修改AssemblyInfo.VB(或AssemblyInfo.cs)文件,并向要公开的程序集添加声明,引用要允许访问的程序集(而不是命名空间)


如果程序集使用强密钥签名,则必须在定义中包含公钥。按照链接获取更多信息,包括示例。

虽然VB支持模块级声明,但C#不支持。在C#中,VB模块将显示为静态类。在VB中,您还可以导入整个类并全局使用它们的共享/静态成员。这也是用C语言无法实现的

如果在VB中,您有:

Public Module MyDeclares

    Public MyGlobalString As String

End Module
然后在C#中,添加对该项目的引用,然后编写如下代码:

using MyProject;
并访问该字段:

MyDeclares.MyGlobalString = "Some text";
已编辑 如果要访问另一个声明为内部的程序集(VB中的friend)中的属性和方法,则需要修改AssemblyInfo.VB(或AssemblyInfo.cs)文件,并向要公开的程序集添加声明,引用要允许访问的程序集(而不是命名空间)


如果程序集使用强密钥签名,则必须在定义中包含公钥。按照链接获取更多信息,包括示例。

我最终与我的模块一起呆在VB项目中-这是我在各个部分之间获得良好可见性的唯一方法。

我与我的模块一起呆在VB项目中-这是我在各个部分之间获得良好可见性的唯一方法。

你忘了吗在C#项目上添加项目引用?是否忘记在C#项目上添加项目引用?是否在AssembyInfo.vb文件中使用过InternalsVisibleTo属性?我没有,但是谢谢你的链接。我会看一下。我会编辑上面的答案以包含此信息。您是否在AssembyInfo.vb文件中使用过InternalsVisibleTo属性?我没有,但是谢谢你的链接。我会看看。我会编辑我的答案上面包括这个信息咬。