Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.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
是否可以删除VB.NET创建的默认名称空间?_Vb.net - Fatal编程技术网

是否可以删除VB.NET创建的默认名称空间?

是否可以删除VB.NET创建的默认名称空间?,vb.net,Vb.net,将一个C#项目转换为VB.NET,C#项目从每个类中的名称空间Foo{开始。在VB.NET中是否可能有相同的行为 问题是VB.NET已经用隐藏的项目名称创建了一个名称空间,因此,如果在VB.NET中执行名称空间Foo,那么您的所有内容都将位于名称空间Foo.Foo是的。只需清除项目设置中的“根名称空间”文本框 如果您是从命令行编译,请不要将/rootnamespace:开关传递给编译器。有趣的是,c#命名为默认名称空间,vb根名称空间。我猜区别在于,如果未指定任何名称,c#将使用默认名称空间,其

将一个C#项目转换为VB.NET,C#项目从每个类中的
名称空间Foo{
开始。在VB.NET中是否可能有相同的行为

问题是VB.NET已经用隐藏的项目名称创建了一个名称空间,因此,如果在VB.NET中执行
名称空间Foo
,那么您的所有内容都将位于名称空间Foo.Foo

是的。只需清除项目设置中的“根名称空间”文本框


如果您是从命令行编译,请不要将
/rootnamespace:
开关传递给编译器。

有趣的是,c#命名为默认名称空间,vb根名称空间。我猜区别在于,如果未指定任何名称,c#将使用默认名称空间,其中as vb将使用根加上您键入的任何内容。@SLC:它们是不同的在C#和VB中,设置是作为
/rootnamespace:
开关传递给编译器的,并在所有类型名称前加上前缀。在C#中,它只是Visual Studio在该名称空间中创建新类型的一个线索(例如,Add->new item…).C#编译器不会向类型添加名称空间。如果在VS添加名称空间后删除源文件中的名称空间,默认名称空间将不会产生任何实际效果。总之,在C#中,所有内容都在源文件中,但在VB中,编译器开关有效。