《Microsoft NET框架程序设计》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:(美)Jeffrey Richter著;李建忠译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2003
  • ISBN:7302075093
  • 页数:596 页
图书介绍:本书是Jeffrey Richter的一本.NET巨著,在目前的.NET著作中具有至尊的地位。全书共分5部分,着重讲述了CLR的工作机理和功能,还有FCL的各个组成部分。

第Ⅰ部分 Microsoft.NET框架基本原理 3

第1章 Microsoft.NET框架开发平台体系架构 3

1.1将源代码编译为托管模块 3

1.2将托管模块组合为程序集 7

1.3加载通用语言运行时 9

前言 11

1.4执行程序集代码 11

1.4.1 IL与代码验证 19

1.5 .NET框架类库 21

1.6 通用类型系统 24

1.7 通用语言规范 27

1.8非托管代码互操作 31

第2章 生成、打包、部署及管理应用程序与类型 35

2.1 .NET框架部署目标 36

2.2 将类型生成为模块 37

2.3 将模块组合为程序集 45

2.3.1 使用Visual Studio.NETIDE为项目添加程序集引用 52

2.3.2使用程序集链接器 53

2.3.3在程序集中包含资源文件 55

2.4程序集版本资源信息 56

2.4.1 版本号 59

2.5语言文化 61

2.6简单应用程序部署(私有部署程序集) 63

2.7 简单管理控制(配置) 64

第3章 共享程序集 71

3.1 两种程序集、两种部署方式 72

3.2 强命名程序集 73

3.3全局程序集缓存 79

3.3.1 GAC的内部结构 85

3.4 引用强命名程序集 87

3.5 强命名程序集的防篡改特性 89

3.6 延迟签名 90

3.7 强命名程序集的私有部署 95

3.8 并存执行 96

3.9 CLR如何解析类型引用 98

3.10 高级管理控制(配置) 101

3.10.1发布者策略控制 106

3.11 修复错误的应用程序 109

第4章 类型基础 115

4.1 所有类型的基类型:System.Object 115

第Ⅱ部分 类型与通用语言运行时 115

4.2类型转换 117

4.2.1使用is和as操作符转型 119

4.3命名空间与程序集 121

第5章 基元类型、引用类型与值类型 127

5.1 基元类型 127

5.1.1 Checked与Unchecked基元类型操作 131

5.2引用类型与值类型 134

5.3值类型的装箱与拆箱 141

第6章 通用对象操作 153

6.1 对象的等值性与惟一性 153

6.1.1 为基类没有重写ObjectEquals方法的引用类型实现Equals 154

6.1.2 为基类重写了Object.Equals方法的引用类型实现Equals 156

6.1.3为值类型实现Equals方法 157

6.1.4 Equals方法与==/!=操作符的实现总结 160

6.1.5 对象惟一性识别 161

6.2 对象的散列码 162

6.3 对象克隆 164

第Ⅲ部分 类型设计 169

第7章 类型成员及其访问限定 169

7.1 类型成员 169

7.2访问限定修饰符和预定义特性 173

7.2.1类型预定义特性 174

7.2.2字段预定义特性 175

7.2.3方法预定义特性 175

第8章 常数与字段 177

8.1 常数 177

8.2字段 178

9.1 实例构造器 181

第9章 方法 181

9.2类型构造器 187

9.3操作符重载方法 190

9.3.1 操作符与语言互操作性 193

9.4转换操作符方法 197

9.5 引用参数 200

9.6 可变数目参数 206

9.7虚方法的调用机理 209

9.8虚方法的版本问题 210

第10章 属性 215

10.1 无参属性 215

10.2含参属性 220

第11章 事件 227

11.1发布事件 228

11.2侦听事件 234

11.3显式控制事件注册 236

11.4在一个类型中定义多个事件 238

11.5 设计EventHandlerSet类型 243

第Ⅳ部分 基本类型 249

第12章 文本处理 249

12.1 字符 249

12.2 System.String类型 253

12.2.1创建字符串 253

12.2.2字符串的恒定性 255

12.2.3字符串比较 256

12.2.4字符串驻留 262

12.2.6查看字符串中的字符 266

12.2.5字符串池技术 266

12.2.7其他字符串操作 270

12.3 高效地动态创建字符串 270

12.3.1 构造StringBuilder对象 271

12.3.2 StringBuilder的成员 272

12.4获取对象的字符串表达形式 275

12.4.1 特定格式与语言文化 276

12.4.2将多个对象格式化为一个字符串 280

12.4.3提供自定义格式化器 282

12.5通过解析字符串获取对象 285

12.6编码:字符与字节之间的转换 289

12.6.1字符与字节的编码/解码流 296

12.6.2 Base-64字符串编码与解码 298

13.1 枚举类型 299

第13章 枚举类型与位标记 299

13.2位标记 305

第14章 数组 309

14.1 所有数组的基类:System.Array 312

14.2数组的转型 315

14.3数组的传递与返回 316

14.4创建下限非0的数组 318

14.5快速数组访问 319

14.6重新调整数组长度 323

第15章 接口 325

15.1接口与继承 325

15.2 设计支持插件组件的应用程序 331

15.3使用接口改变已装箱值类型中的字段 333

15.4 实现多个有相同方法的接口 336

15.5显式接口成员实现 338

第16章 定制特性 345

16.1 使用定制特性 345

16.2定义自己的特性 349

16.3特性构造器与字段/属性的数据类型 353

16.4检测定制特性 354

16.5特性实例间的匹配 359

16.6伪定制特性 362

第17章 委托 365

17.1 认识委托 365

17.2使用委托回调静态方法 368

17.3使用委托回调实例方法 370

17.4委托揭秘 371

17.5委托史话:System.Delegate与System.MulticastDelegate 375

17.6委托判等 376

17.7委托链 377

17.8 C#对委托链的支持 383

17.9 对委托链调用施以更多的控制 384

17.10委托与反射 386

第Ⅴ部分 类型管理 393

第18章 异常 393

18.1异常处理的演化 394

18.2异常处理机制 396

18.2.1 try块 397

18.2.2 catch块 398

18.2.3 finally块 400

18.3异常的本质 401

18.4 System.Exception类 406

18.5 FCL定义的异常类 408

18.6定义自己的异常类 411

18.7如何正确使用异常 416

18.7.1避免过多的finally块 416

18.7.2避免捕获所有异常 418

18.7.3 从异常中顺利地恢复 419

18.7.4当异常无法修复时,回滚部分完成的操作 420

18.7.5隐藏实现细节 421

18.8 FCL中存在的一些问题 424

18.9性能考虑 426

18.10捕获筛选器 429

18.11未处理异常 432

18.11.1 发生未处理异常时的CLR行为控制 437

18.11.2未处理异常与Windows窗体 439

18.11.3未处理异常与ASP.NET Web窗体 440

18.11.4 未处理异常与ASP .NET XML Web服务 441

18.12异常堆栈踪迹 441

18.12.1远程堆栈踪迹 444

18.13 异常调试 445

18.13.1 告诉Visual Studio调试何种代码 448

第19章 自动内存管理(垃圾收集) 451

19.1 垃圾收集平台基本原理解析 451

19.2垃圾收集算法 455

19.3终止化操作 459

19.3.1 调用Finalize方法的条件 467

19.3.2终止化操作的内部机理 468

19.4 Dispose模式:强制对象清理资源 471

19.4.1 使用实现了Dispose模式的类型 477

19.4.2 C#的using语句 482

19.4.3 一个有趣的依赖问题 484

19.5弱引用 485

19.5.1 弱引用的内部机理 487

19.6 对象复苏 489

19.6.1 利用复苏设计一个对象池 491

19.7对象的代龄 493

19.8编程控制垃圾收集器 499

19.9其他一些与垃圾收集器性能相关的问题 501

19.9.1 省却同步控制的多线程分配 503

19.9.2 可扩展并行收集 503

19.9.3 并发收集 504

19.9.4 大尺寸对象 505

19.10监视垃圾收集 506

第20章 CLR寄宿、应用程序域、反射 507

20.1 元数据:.NET框架的基石 507

20.2 CLR寄宿 508

20.3应用程序域 510

20.3.1跨越应用程序域边界访问对象 513

20.3.2应用程序域事件 515

20.3.3 应用程序及其如何寄宿CLR和管理应用程序域 516

20.3.4 Yukon 517

20.4 反射概要 518

20.5 反射一个程序集中的类型 520

20.7 反射一个类型的成员:绑定 523

20.6 反射一个应用程序域中的程序集 523

20.8显式加载程序集 525

20.8.1 将程序集象“数据文件”一样加载 527

20.8.2建立一个异常类型的层次结构 529

20.9 显式卸载程序集:卸载应用程序域 532

20.10获取一个System.Type对象的引用 534

20.11 反射一个类型的成员 538

20.11.1 创建一个类型的实例 541

20.11.2 调用一个类型的方法 543

20.11.3 一次绑定、多次调用 548

20.12 反射一个类型的接口 553

20.13反射的性能 555

索引 557

术语表 592