代码之家  ›  专栏  ›  技术社区  ›  quillbreaker

C:没有命名空间的接口

c#
  •  2
  • quillbreaker  · 技术社区  · 15 年前

    我根据WSDL定义文件和wsdl.exe生成了一个用于项目的接口。生成的.cs文件内部有预期的接口,但接口文件没有命名空间-接口定义直接位于using语句的下面。

    我从未见过没有显式声明命名空间的源代码文件,这让我想知道:不显式声明命名空间有什么好处和缺点?这与生成的代码有关吗?

    3 回复  |  直到 15 年前
        1
  •  3
  •   Dave Markle    15 年前

    我想好处是,花在名称空间中的时间更少…可以将所需的命名空间指定为参数 wsdl.exe ,您应该这样做:

    wsdl.exe /namespace:foo http://myreference/
    

    缺点是,如果没有名称空间,您很可能与对象发生命名冲突。这个问题越严重,类或接口的使用者越多。名称空间绝对是个好主意。

        2
  •  1
  •   Andrew Bezzub    15 年前

    通常,代码生成器具有为生成的代码指定命名空间的属性。名称空间提供了类型的逻辑分组,因此当然应该使用它们来避免模棱两可。

        3
  •  1
  •   Fermin    15 年前

    名称空间可以帮助您组织代码,主要是避免命名冲突。

    我想有一种方法可以为生成的代码指定名称空间吗?