当前位置: 首页 > article >正文

命名空间和程序集

目录

一、什么是命名空间

1. 命名空间的作用

 2. 命名空间跨文件伸展

3.嵌套命名空间 

 二、using指令

1. using命名空间指令

2. using别名指令

三、程序集的结构

1. 程序集标识符

2.强命名程序集


一、什么是命名空间

1. 命名空间的作用

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

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

 

 2. 命名空间跨文件伸展

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

 

3.嵌套命名空间 

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

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

 二、using指令

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

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

1. using命名空间指令

格式:

举例:

  

2. using别名指令

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

格式:

举例:

 

三、程序集的结构

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

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

1. 程序集标识符

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

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

2.强命名程序集

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

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

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


http://www.kler.cn/a/8117.html

相关文章:

  • 企业数字化转型加速,现代 IT 如何用 Datadog 全面提升可观测性?
  • uni-app 统一请求处理 请求拦截器 响应拦截器 请求封装
  • 数据结构---------二叉树前序遍历中序遍历后序遍历
  • Vue2四、 scoped样式冲突,data是一个函数,组件通信-父传子-子传父-非父子
  • 【ArcGIS Pro微课1000例】0064:栅格目录、栅格数据集、镶嵌数据集
  • lodash常用函数
  • Mysql 的B+树索引 和HASH索引
  • 160. 相交链表 ——【Leetcode每日一题】
  • CSS基础知识,必须掌握!!!
  • Android:启动流程
  • 城乡供水一体化管控平台-农村供水监管平台-乡村振兴
  • C++实现多线程
  • 聚类问题的算法总结
  • Nuxt中使用vuex管理组件信息通讯
  • 图像分割技术及经典实例分割网络Mask R-CNN(含基于Keras Python源码定义)
  • 一文看懂多模态大型语言模型GPT-4
  • 设计模式之监听模式
  • 第二章 SpringBoot整合ES7
  • 签订合同Signing a Contract
  • TenserRT(一)模型部署简介
  • 人人都能看懂的Spring源码解析,Spring如何解决循环依赖
  • Leetcode653. 两数之和 IV - 输入二叉搜索树
  • JavaScript 解析Json字符串的性能比较分析代码
  • WeakTr阅读笔记
  • Spring销毁的几种实现
  • 【vSphere | Python】vSphere Automation SDK for Python Ⅵ—— VM Guest Processes APIs