我正在将项目从C#转换到Visual Basic,而VB.NET中的命名空间表现出一种奇怪的方式。有一种隐藏的默认名称空间,这很烦人。我希望它的行为与C#相同,它的工作方式与预期一样--一切都进入了您为它们创建的名称空间中。
我一直在绕过这个问题,通常是说
using MyClassLibrary;在C#和VB中
Imports MyClassLibrary
Imports MyClassLibrary.MyClassLibrary但是,如果功能是相同的,也是合乎逻辑的,那就太好了。
另一个更大的问题是,我有一个.tt文件,C#项目在与VB项目不同的名称空间中生成代码。
有什么解决方案可以使两者在名称空间方面的行为相同吗?
发布于 2010-03-25 20:25:09
我只能得出结论,虽然上述从VB.NET中删除根命名空间的答案似乎有效,并且可能确实适用于一些模仿C#处理命名空间的方式的解决方案,但其他文件,如实体设计器文件和自动生成的代码&模板命名空间的行为不同,您无法更改它们的行为,除非将它们分开。在以这种方式进行了一次转换后,我遇到了一些文件以不同于C#的方式定义自己的命名空间的问题,因此我决定更好地接受visual basic的内置怪癖,而不是试图绕过它们。
发布于 2010-03-04 19:11:24
选中VB项目选项中的根命名空间。清理一下就行了。
这与C#项目中的默认命名空间不同。如果更改C#项目中的默认命名空间,则现有文件不会更改。但是,如果您在VB项目中更改根命名空间,这将影响所有现有成员。
发布于 2010-03-04 18:57:09
检查项目的属性,有一个默认的命名空间选项可以在VB项目中设置,但不能在C#项目中设置。除了VB的"My“命名空间之外,命名空间在不同语言中的行为应该是相同的。
https://stackoverflow.com/questions/2378601
复制相似问题