代码组织与管理_第1页
代码组织与管理_第2页
代码组织与管理_第3页
代码组织与管理_第4页
代码组织与管理_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C#语言程序设计李朔@数信学院Email:chn.nj.ls@C#语言程序设计基础

代码组织与管理分部类型代码中的预处理器指令

XML代码注释分部/局部类型(partial)C#2.0引入局部类型概念partialpartial关键字修饰的类(class)、结构体(struct)或接口(interface)可以写成几个代码片段,而这些片段又可以存放在不同的源文件(.cs)中partial修饰符只能出现在紧靠关键字class、struct

或interface前面的位置局部类型是一个纯语言层的编译处理,不影响任何执行机制事实上c#编译器在编译的时候仍会将各个部分的局部类型合并成一个完整的类。如下例编译后它相当于

局部类型适用于以下情况类型特别大,不宜放在一个文件中实现。一个类型中的一部分代码为自动化工具生成的代码,不宜与我们自己编写的代码混合在一起。需要多人合作编写一个类。将一个类型中稳定的代码与需要经常修改的代码部分合理划分开局部类型的限制局部类型只适用于类、接口、结构,不支持委托和枚举。同一个类型的各个部分必须都有修饰符partial

各部分使用的访问修饰符应当相同,如public、private等各部分不能包含重复的成员定义,除非该成员属于嵌套的分部类型各部分不能定义不同的基类使用局部类型时,一个类型的各个部分必须位于相同的命名空间中。否则就被认为是不同程序集中的不同类型。abstract:如果将任意部分类声明为抽象的,则整个类型都被视为抽象的P411Sealed:如果将任意部分类声明为密封的,则整个类型都被视为密封的Static:如果将任意部分类声明为静态的,则整个类型都被视为静态的查找程序错误分部类型是一个整体:各部分所分布的各个源文件必须在一起编译,而不能先编译几个部分,后来再引用新增加的部分在某一分部定义中声明的任何类、结构或接口成员可供所有其他部分使用各个部分可以指定不同的基接口,最终类型将实现所有分部声明所列出的全部接口P411泛形也可以采用分部类型定义方式,其类型参数有下列限制:类名和泛型类型参数在所有的分部类型定义中都必须匹配——泛型的类型参数在每个部分都需要进行声明,而且数量和名称必须完全相同(相同顺序,相同名称)如果在某部分进行了类型限制,就是对整个泛型的限制若多个部分都进行了类型限制,这些限制必须相同代码中的预处理器指令编译之前的代码文本整理条件编译:选择语句,运行时由用户选择决定程序分支流程例18-1.cs条件编译,编译时根据条件决定可参加编译的代码区块例18-2.cs条件编译技术在软件开发中经常被用于程序调试标识符定义#define标识符#undef

标识符指令必须出现在源程序的所有有效代码之前或是程序的第一行语句或是它们之前只有注释或其他预处理指令标识符是一个编译符号,与变量无关条件编译指令包括#if、#else、#elif、#endif#if#elif后跟标识符表达式标识符表达式可以是单个标识符,也可以是由“&&”以及”||”操作符进行连接的多个标识符,如:#if(A&&B)判断是否同时存在标识符A和B的定义条件指令被满足,则将指令后面的代码段编译到目标程序中,否则就忽略#else指令与#if配套使用,#endif指令表示条件编译结束与if条件语句相似,条件编译指令可以分为三种结构,P415及条件编译标识符的顺序性编译警告和错误#warning指令用于生成一条编译警告信息C#编译器,可以通过“/warning”指令来关闭警告信息的显示。#error指令用于生成错误,并导致编译的失败#其它预处理指令P417特别注意:这些指令用于辅助条件编译。与C和C++指令不同,不能使用这些指令创建宏。预处理器指令必须是行上的唯一指令。XML代码注释XML,半结构化,自描述,与平台无关的语言.NET类库提供了对XML操作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论