【问题标题】:Do an assembly have multiple namespaces or is composed of single namespace程序集是否有多个命名空间或由单个命名空间组成
【发布时间】:2011-02-12 22:16:45
【问题描述】:

一个组合可以有多个命名空间还是由单个命名空间组成。

【问题讨论】:

  • 你是在问是否可以在一个程序集中定义多个命名空间?
  • @Ando Yeh 我的意思是问这个:一个程序集可以包含多个命名空间吗?

标签: dll assemblies namespaces


【解决方案1】:
  • 程序集是代码的集合 - 对象、方法、属性和其他资源。
  • 命名空间是这些事物的逻辑分组。

一个程序集可以包含多个命名空间,因为它可以包含多个对象和方法的逻辑分组。我见过的大多数程序集都是一个命名空间,只是为了清楚起见,但没有理由一个程序集不能包含十几个不同的命名空间。

【讨论】:

    【解决方案2】:

    层次结构是: Assemblies 包含 ResourcesModules

    Modules 包含FieldsMethodsTypes

    Types 可以由任意命名空间限定,前提是它不与另一个现有的 Type 冲突。

    程序集可以通过模块级别直接短路到程序集中所有模块中包含的所有类型(通过 GetType() 或 GetTypes())。

    【讨论】:

      【解决方案3】:

      程序集可以有多个命名空间。

      【讨论】:

      • 怎么样?这背后的逻辑是什么。这背后是什么过程。
      • @sha:程序集是与命名空间不同的分组概念。它们有不同的目的,没有联系。
      • @Johan:您能否提供一些参考来支持您的回答,以便获得有关他们创作的一些知识
      • 例如,在 C# 中,System 命名空间以及 System.IO 和其他一组命名空间都包含在 System.Core.dll 文件中。 danielmoth.com/Blog/systemcoredll.aspx
      【解决方案4】:

      请参阅 msdn 文章 Understanding and Using Assemblies and Namespaces in .net,该文章应该清楚 assembly 是什么意思以及 namespace 是什么意思。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-02-27
        • 1970-01-01
        • 1970-01-01
        • 2015-02-14
        • 2010-10-14
        • 1970-01-01
        相关资源
        最近更新 更多