命名空间和程序集

目录

一、什么是命名空间

1. 命名空间的作用

 2. 命名空间跨文件伸展

3.嵌套命名空间 

 二、using指令

1. using命名空间指令

2. using别名指令

三、程序集的结构

1. 程序集标识符

2.强命名程序集


一、什么是命名空间

1. 命名空间的作用

  1. 命名空间是共享命名空间名的一组类和类型。
  2. 同一个命名空间中的每个类的名称不能相同。
  3. 命名空间名是一个字符串(字符串中可以使用点),它加在类名或类型名前面使用点分隔。

命名空间和程序集_第1张图片

  1. 合理使用命名空间名称可以有效降低类名冲突。
  2. 命名空间名称可以是任何有效标识符。
  3. 命名空间名称中可以使用英文句号。

命名空间和程序集_第2张图片

命名空间和程序集_第3张图片 

 2. 命名空间跨文件伸展

  1. 命名空间不是封闭的,可以在不同的源文件中声明相同的命名空间。
  2. 包含相同名称的命名空间的源文件可以被编译成同一个程序集。
  3. 包含相同名称的命名空间的源文件可以被编译成不同的程序集。

命名空间和程序集_第4张图片

命名空间和程序集_第5张图片 

3.嵌套命名空间 

命名空间可以嵌套,但命名空间仍是互相独立的。

  1. 原文嵌套:直接把命名空间放在另一个命名空间内部。
  2. 分离的声明:声明时使用完全限定名来表示嵌套。

命名空间和程序集_第6张图片

 二、using指令

using命名空间指令和using别名指令可以避免使用长长的命名空间的完全限定名。

  1. 它们必须放在源文件顶端,在任何类型声明之前。
  2. 它们应用于当前源文件中的所有命名空间。

1. using命名空间指令

格式:

命名空间和程序集_第7张图片

举例:

  

2. using别名指令

using别名指令允许起一个别名给:命名空间或命名空间内的一个类型。

格式:

举例:

命名空间和程序集_第8张图片 

三、程序集的结构

 程序集的文件扩展名通常为.exe或.dll

命名空间和程序集_第9张图片

程序集代码文件称为模块。含多个模块的程序集中一个文件是主模块,其余是次要模块。

命名空间和程序集_第10张图片

1. 程序集标识符

 程序集标识符由4个组成部分,它们一起唯一标识了该程序集。

  1. 简单名:只是不带文件扩展名的文件名,也被称为程序集名或友好名称。
  2. 版本号:形式为MajorVersion.MinorVersion.Build. Revision,例如2.0.35.9。
  3. 文化信息:2~5个字符串,表示语言、国家、或地区。
  4. 公钥:128字节字符串,生产该程序集的公司唯一的。

命名空间和程序集_第11张图片

2.强命名程序集

强命名程序集有一个唯一的数字标签,比没有强命名程序集安全

  1. 强名称唯一标识了程序集。
  2. 没有CLR安全组件来捕获更改,强命名程序集的内容不能改变。
  3. 强命名由编译器生成。

(注:本内容学习总结自《C#图解教程》)

你可能感兴趣的:(C#基础笔记,c#,开发语言,.net)