【问题标题】:Possible to override VB.NET root namespace?可以覆盖 VB.NET 根命名空间吗?
【发布时间】:2010-10-03 13:08:16
【问题描述】:

VB.NET 自动将项目属性中设置的根命名空间作为每个类的命名空间的前缀。这与 C# 不同,C# 每次都必须声明完整的命名空间。

是否可以覆盖此行为,在根命名空间之外创建命名空间?

【问题讨论】:

标签: vb.net namespaces


【解决方案1】:

如果我理解正确,您只需在项目属性对话框中设置一个空白命名空间,然后使用开始/结束命名空间命令在每个源文件中设置命名空间。

从 VS2012 开始,可以解决这个问题,请参阅 stackoverflow.com/a/17360357/233095

【讨论】:

    【解决方案2】:

    将项目的默认值定义为空白,然后在每个类中完全控制允许您执行 c# 所做的事情。但是,某些项目类型(我相信是库)不允许您将默认命名空间更改为空白。

    使用 Global 关键字也不允许您跳出根命名空间: http://msdn.microsoft.com/en-us/library/16czfx55.aspx

    【讨论】:

    • 根据latest MSDN article全局关键字也可以用在命名空间语句中。这使您可以在项目的根命名空间之外定义一个命名空间。有关详细信息,请参阅 Visual Basic 命名空间中的“命名空间语句中的全局关键字”部分。请参阅 Shimmy 的回答...
    【解决方案3】:

    他们现在实现了it

    Namespace Global.MyNamespace
    
    End Namespace
    

    【讨论】:

    • 这太完美了
    【解决方案4】:

    您可以通过转到项目的属性来更改整个项目的命名空间。 否则,您将必须有一个空的根命名空间,并使用

    在每个文件中设置命名空间
    Namespace test
        class.....
    End Namespace
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-27
      • 2010-11-08
      • 2020-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多