C++程序设计教程——基于Visual Studio 2008.pdf


-
《C++程序设计教程——基于Visual Studio 2008》,作者:刘冰、张林、蒋贵全,出版社:机械工业出版社,ISBN:9787111277002,PDF 格式,扫描版,大小 31.9MB。 内容简介: 本书从实用的角度出发,详细介绍了c++语言基础、面向对象的c++语言程序设计、windows编程基础、visual c++ 2008开始平台、mfc基本应用程序、用户界面设计、对话框和常用控件、文档和视图、图形与文本等知识,并介绍了visual c++2008的高级应用以及开发实例。每章均配有习题,以指导读者深入地进行学习。本书内容丰富、通俗易懂,概念清晰、深入浅出,实例丰富、实用性强,对于visual c++2008开发平台初学者,通过对本教材的学习可以熟练掌握操作并能够解决实际工程问题。. 本书可作为高等学校计算机专业c++语言程序设计课程的教材或教学参考用书,也可作为通信、电子信息、自动化等相关专业教材。... 目录: 出版说明. 前言 第1章 c++语言基础 1.1 标识符和关键字 1.1.1 标识符 1.1.2 关键字 1.2 运算符和表达式 1.2.1 运算符 1.2.2 优先级和结合性 1.2.3 表达式 1.3 数据类型 1.4 常量和变量 1.4.1 变量的5个要素 1.4.2 变量作用域 1.4.3 变量生存期 1.5 数组 1.5.1 一维数组 1.5.2 一维数组和二维数组的初始化 1.5.3 字符数组 1.6 指针和引用 .1.6.1 指针变量的定义与赋值 1.6.2 数组指针与指针数组 1.6.3 动态内存分配:new与delete 1.6.4 引用 1.7 字符串处理函数 1.8 标准输入输出 1.9 函数 1.9.1 函数的定义 1.9.2 函数的声明 1.9.3 函数的参数和返回值 1.9.4 函数的调用 1.9.5 函数参数的传递 1.10 本章小结 1.11 练习题 第2章 面向对象的程序设计 2.1 c语言和c++语言的关系 2.2 类和对象 2.2.1 类和对象的定义 2.2.2 成员函数 2.2.3 构造函数和析构函数 2.2.4 静态成员变量 2.2.5 友元 2.3 类的继承和派生 2.3.1 类与类之间的4种关系 2.3.2 类的继承 2.3.3 派生类 2.3.4 基类成员的访问控制 2.3.5 多态性 2.3.6 虚函数 2.3.7 重载 2.4 本章小结 2.5 练习题 第3章 windows编程基础 3.1 windows介绍 3.1.1 windows的主要版木 3.1.2 windows编程工具 3.2 windows应用程序设计的特点 3.3 创建控制台应用程序 3.3.1 用appwizard创建一个clr控制台应用程序 3.3.2 用appwizard创建一个win32控制台应用程序 3.4 windows应用程序的组织 3.5 windows编程 3.5.1 简单的windows应用程序 3.5.2 windows基本数据类型 3.6 本章小结 3.7 练习题 第4章 visual c++2008开发平台概述 4.1 visual c++2008的新特征 4.2 visual c++2008的酉己置要求 4.3 visual studio 2008集成开发环境 4.3.1 手动卸载visual studio 2008之前的版本 4.3.2 安装visual studio 2008 4.3.3 解决方案和项目 4.3.4 编辑器和设计器 4.3.5 生成和调试工具 4.3.6 部署工具 4.3.7 帮助文档 4.3.8 程序调试跟踪实例 4.4 本章小结 4.5 练习题 第5章 mfc基本应用程序 5.1 mfc应用程序介绍 5.1.1 mfc概述 5.1.2 简单的mfc程序 5.1.3 mfc应用程序的分析 5.2 mfc类 5.2.1 mfc应用程序与mfc类的关系 5.2.2 应用程序类cwinapp 5.2.3 主框架类cframewnd 5.2.4 视图类cview.. 5.2.5 文档类cdocument 5.2.6 对话框类cdialog 5.2.7 菜单类cmenu 5.2.8 线程基类cwinthread 5.2.9 mfc应用程序开发过程 5.3 本章小结 5.4 练习题 第6章 用户界面设计 6.1 菜单编辑器的设计 6.1.1 创建弹出菜单 6.1.2 创建动态菜单 6.1.3 创建若干对话框的菜单 6.2 工具栏的设计

-
2018-12-31
-
2016-04-27
-
2015-11-30
-
2015-11-17
-
2015-10-14
-
2015-09-30
-
2015-07-27
-
2015-07-22
-
2015-06-03
-
2015-04-15
31.25MB
C++程序设计教程——基于Visual Studio 2008
2013-09-04正版图书PDF扫描版,详细介绍了vs中VC++开发的过程,书中包含各种实例进行练习
480.54MB
[Csharp高级编程(第6版)].(美)内格尔.扫描版.pdf
2013-08-09编辑推荐 本书为C#经典名著!是Wrox红皮书中最畅销的品种之一。从第1版开始就名满天下,其第3版被评选为2005年最权威的十大IT图书之一,并荣获 “2005年度引进版科技类优秀图书”奖。更可贺的是,其第4版又荣获“2006年最受读者喜爱的十大技术开发类图书”!第6版在详尽论述C# 2005的基础上,又增加了.NET 3.0 Framework的新特性,更加完善了C#的技术。是缺乏C#或.NET编程经验,但有其他语言编程经验的开发人员,以及了解.NET 2.0,而且对.NET 3.0和Visual Studio 2005有兴趣的程序员全面掌握C#的首选教程。 本书以.NET 3.5和VS2008为基础,是C# 2008及其环境的最终指南。本书首先介绍了.NET的体系结构和方法论,解释了C#语言不能孤立看待,而必须放在.NET Framework中考虑的原因。在论述了C#的基础知识之后,深入探讨了C#编程的所有内容。 本书添加了许多新示例,来解释如何使用C#完成各种任务。另外,还增加了一些全新的章节,包括LINQ、SQL、ADO.NET实体、Windows Communication Foundation、Windows Workflow Foundation、Windows Presentation Foundation、数组、系统事务处理、跟踪、事件日志等,使读者能清晰、全面地理解C# 2008提供的所有功能。 本书主要内容 编写Windows应用程序和Windows服务 用ASP.NET 3.5编写Web页面 用C#处理XML的技巧 用ADO.NET访问数据库 用C# 2008生成图形 各种C#插件 用LINQ轻松地处理SQL Server数据库和XML 本书读者对象 本书适用于希望学习C#开发语言的最新版本的、有经验的开发人员。 2005年最权威的十大IT图书!2005年度引进版科技类优秀图书!2006年最受读者喜爱的十大技术开发类图书!2007年最畅销的C#零售图书! 1.C#经典名著!是Wrox红皮书中最畅销的品种之一。 2.其第3版被评选为2005年最权威的十大IT图书之一,并荣获“2005年度引进版科技类优秀图书”奖 3.其第4版又荣获“2006年最受读者喜爱的十大技术开发类图书” 4.是2007年最畅销的C#零售图书 5.2008年,最新的第6版在详尽论述C# 2005的基础上,又增加了.NET 3.5 Framework的新特性,更加完善了C#的技术 6.以.NET 3.5和Visual Studio 2008为基础,是程序员全面掌握C#的首选教程 内容简介 C#经典名著!也是Wrox皮书中最畅销的品种之一,从第 1版开始就名满天下:其第3版被中华读书报、CSDN、《程序员》等机构评选为2005年最权威的十大IT图书之一;在中国版协、中国出版科学研究所、《出版参考》杂志组织的“2005年度输出版、引进版优秀图书”评选活动中获得“2005年度引进版科技类优秀图书”奖其第4版被多家IT相关机构和媒体联合评为“2006年最受读者喜爱的十大技术开发类图书”。 第6版面向C#2008和,NET 3.5,在全面展示,NET和C#新特性的同时继续完善原有的内容,是有一些C#基础知识的读者或者想迁移到C#的其他程序员全面掌握C#2008的首选教程。 作者简介 李铭,信息管理专业硕士,拥有近8年的系统开发经验,曾开发过监考系统、宽带教学系统、人员管理系统和综合业务系统等,现就职于某部队研究所,从事.NET、Oracle和Linux等方面的开发和管理工作,曾发表过多篇计算机专业论文,也翻译和编写过几部著作。 黄静,计算机专业博士,在程序设计、软件工程和网络安全等方面有着多年的研究和实战经验,曾为.NET技术在国内的推广作出了重要贡献,翻译和发表了多篇有关.NET的技术文档或文章。 目录: 第Ⅰ部分 C# 语言 第1章 .NET体系结构 1.1 C#与.NET的关系 1.2 公共语言运行库 1.2.1 平台无关性 1.2.2 提高性能 1.2.3 语言的互操作性 1.3 中间语言 1.3.1 面向对象和接口的支持 1.3.2 相异值类型和引用类型 1.3.3 强数据类型 1.3.4 通过异常处理错误 1.3.5 特性的使用 1.4 程序集 1.4.1 私有程序集 1.4.2 共享程序集 1.4.3 反射 1.5 .NET Framework类 1.6 命名空间 1.7 用C#创建.NET应用程序 1.7.1 创建ASP.NET应用程序 1.7.2 创建Windows窗体 1.7.3 使用Windows Presentation F
114B
程序设计入门—C语言(完)-浙江大学-翁恺 视频.txt
2019-05-24C语言是古老而长青的编程语言,它具备了现代程序设计的基础要求,它的语法是很多其他编程语言的基础,在系统程序、嵌入式系统等领域依然是无可替代的编程语言,在各类编程语言排行榜上常年占据前两名的位置。 本课程是零基础的编程入门课,是后续的操作系统、编译原理、体系结构等课程的基石。 —— 课程团队 课程概述 程序设计是一门基础课程。对于计算机相关专业而言,程序设计是专业基础知识,是进一步学习其他专业知识的第一步阶梯;对于非计算机专业而言,程序设计的学习有助于理解计算机的能力所在,理解哪些是计算机擅长解决的问题,怎样的方式方法是计算机擅长的手段,从而能更好地利用计算机来解决本专业领域内的问题。 C语言是古老而长青的编程语言,它具备了现代程序设计的基础要求,它的语法是很多其他编程语言的基础,在系统程序、嵌入式系统等领域依然是无可替代的编程语言,在各类编程语言排行榜上常年占据前两名的位置。 对于非计算机专业的学生,学习本课程的主要目的是掌握程序设计的基本方法,C语言是教学媒介。但是对于计算机专业的学生,本课程是向后续的计算机组成、操作系统、编译原理、体系结构等课程前进的基石,对于C语言本身甚至程序设计语言基础原理的深入理解都是应该掌握的。 本课程是零基础的入门课程,完成本课程之后,就能具有初步的运用C语言编写程序的能力。要想完整的学习C语言,还需要进一步学习本课程的后续课程——《C语言程序设计进阶》。 程序设计是实践性很强的课程,该课程的学习有其自身的特点,听不会,也看不会,只能练会。你必须通过大量的编程训练,在实践中掌握编程知识,培养编程能力,并逐步理解和掌握程序设计的思想和方法。在这里所提供的,只是基础的知识讲解,要想学会编程,还需要更多时间的投入和努力。 为了学习编程,你需要有一台计算机,安装必要的编程软件。无论是MS Windows、Mac OS X还是Linux,都有适合C语言编程的软件。如果搞不定自己电脑上的编程软件,我们也会提供在网页中编写、运行C语言程序的方法。 课程大纲 01 程序设计与C语言 课时 1 计算机和编程语言 2 C语言 3 第一个程序 02 计算 课时 1 变量 2 数据类型 3 表达式 4 在线评判系统 03 判断与循环 课时 1 判断 2 循环 04 进一步的判断与循环 课时 1 逻辑类型和运算 2 级联和嵌套的判断 3 多路分支 4 循环的例子 5 判断和循环常见的错误 05 循环控制 课时 1 循环控制 2 多重循环 3 循环应用 06 数组与函数 课时 1 数组 2 函数的定义与使用 3 函数的参数和变量 4 二维数组 07 数组运算 课时 1 数组运算 2 搜索 3 排序初步 08 指针与字符串 课时 1 指针 2 字符类型 3 字符串 4 字符串计算 预备知识 作为第一门编程课,本课程可以零基础学习。大学计算机(大学计算机基础、计算思维导论)等课程对于理解本课程的部分内容有帮助,但这些课程的学习不是必须的。 证书要求 课程的总分达到60分以上,可以获得本课程的合格证书。 课程的总分达到85分以上,可以获得本课程的优秀证书。 参考资料 何钦铭、颜晖,《C语言程序设计(第3版)》,高等教育出版社,2015年,ISBN 978-7-04-043128-3 颜晖、张泳,《C语言程序设计实验与习题指导(第3版)》,高等教育出版社,2015年,ISBN 978-7-04-043563-4 常见问题 Q:我需要特殊版本的计算机吗? A:任何计算机都可以用于C语言编程,包括但不限于各个版本的MS Windows、各个版本的Mac OS X、各种发行版本的Linux。有的手机有app也能实现C语言编程,不过我们不推荐那么小的屏幕。 Q:我需要安装特定的软件才能做这门课的作业吗? A:任何C语言的开发工具都可以。课程演示会使用Dev C++及命令行环境,但是你使用任何其他开发工具都不会影响做作业的正确性。可以使用的其他工具包括但不限于MS Visual Studio、C-Free等。 Q:每周会发布多少时间的视频?我需要花多少时间来学习? A:我们按照90分钟的授课时间来设计课程。但是发布的视频肯定小于90分钟,一般在50到70分钟左右。因为在线下上课时,老师可能会回顾一下上周的内容、某些内容会看学生的反应重复几遍、会当堂问做一些提问,以及在各种软件等教学工具之间切换,这些都要花点时间,而这些在线上课程中都不存在了,所以视频的时间不会正好是90分钟。但是一般我们设计课程需要1:1.5到1:2的课后学习时间,这包括预习、作业、练习和复习的时间,所以每周大约需要花费三到五小时的时间。
14.30MB
GPU编程精粹_1_计算机图形学_(7)
2009-05-28目前很流行的计算机图形学,也是图形学的发展方向!使个人计算机在 大规模的计算并实时显示复杂的图形成为可能! 推荐资源 代码高亮工具 -- firefox 附加组件 100个Visual C++网络与数据库编程例子 net人才系统msSql2000数据库 accp s2 结业项目(包含项目答辩PPT,需要分析,项目总结文档) java编写的酒店管理系统 jsp+oracle 网络应用系统开发与实例源代码 Visual C++ 课程设计案例精编(附书代码) Java与模式 (完整清晰版+源代码) 阎宏 编著—多家JAVA培训机构极力推荐书 固定资产管理系统(Visual Studio 2005+SQL2000)源程序+运行说明书 遗传算法——理论、应用与软件实现 作者其他资源 Oracle数据文件 OpenGL控件...................................................... MyDraw 共有评论条 发表评论 现在有0人对本文发表评论 热门Tag Java C++ C# linux 教程 pdf 源码 sql asp.net Matlab 源代码 jsp C语言 数据库 ASP 单片机 编程 Oracle C Windows javascript 毕业设计 VB visual 数据结构 chm PPT vc .net 课件 Ajax 中文 VC++ server MFC 本周热点资源
95.0MB
C#高级编程(第6版).(清华出版.李铭译.黄静审校).part3
2016-07-13书名:《C#高级编程(第6版)》(清华大学出版社.李铭译.黄静审校) PDF格式扫描版,全书分为48章,共1557页。2008年10月出版。 (注:原名为:Professional C# 2008,原书无书签,为了方便阅读,本人制作了详细完整的书签) 因文件较大,全书压缩打包成5部分,这是第3部分。 内容简介 本书是C#经典名著!也是Wrox皮书中最畅销的品种之一,从第 1版开始就名满天下:其第3版被中华读书报、CSDN、《程序员》等机构评选为2005年最权威的十大IT图书之一。第6版面向C#2008和,NET 3.5,在全面展示,NET和C#新特性的同时继续完善原有的内容,是有一些C#基础知识的读者或者想迁移到C#的其他程序员全面掌握C#2008的首选教程。 本书适合程序开发人员,也可供大、中专院校师生阅读。 目 录 第Ⅰ部分 C# 语言 第1章 .NET体系结构 1.1 C#与.NET的关系 1.2 公共语言运行库 1.2.1 平台无关性 1.2.2 提高性能 1.2.3 语言的互操作性 1.3 中间语言 1.3.1 面向对象和接口的支持 1.3.2 相异值类型和引用类型 1.3.3 强数据类型 1.3.4 通过异常处理错误 1.3.5 特性的使用 1.4 程序集 1.4.1 私有程序集 1.4.2 共享程序集 1.4.3 反射 1.5 .NET Framework类 1.6 命名空间 1.7 用C#创建.NET应用程序 1.7.1 创建ASP NET应用程序 1.7.2 创建Windows窗体 1.7.3 使用Windows Presentation Foundation(WPF) 1.7.4 Windows控件 1.7.5 Windows服务 1.7.6 Windows Communication Foundation(WCF) 1.8 C#在.NET企业体系结构中的作用 1.9 小结 第2章 C#基础 2.1 引言 2.2 第一个C#程序 2.2.1 代码 2.2.2 编译并运行程序 2.2.3 详细介绍 2.3 变量 2.3.1 变量的初始化 2.3.2 类型推断 2.3.3 变量的作用域 2.3.4 常量 2.4 预定义数据类型 2.4.1 值类型和引用类型 2.4.2 CTS类型 2.4.3 预定义的值类型 2.4.4 预定义的引用类型 2.5 流控制 2.5.1 条件语句 2.5.2 循环 2.5.3 跳转语句 2.6 枚举 2.7 数组 2.8 命名空间 2.8.1 using语句 2.8.2 命名空间的别名 2.9 Main()方法 2.9.1 多个Main()方法 2.9.2 给Main()方法传送参数 2.10 有关编译C#文件的更多内容 2.11 控制台I/O 2.12 使用注释 2.12.1 源文件中的内部注释 2.12.2 XML文档说明 2.13 C#预处理器指令 2.13.1 #define和 #undef 2.13.2 #if, #elif, #else和#endif 2.13.3 #warning和 # error 2.13.4 #region和#endregion 2.13.5 #line 2.13.6 #pragma 2.14 C#编程规则 2.14.1 用于标识符的规则 2.14.2 用法约定 2.15 小结 第3章 对象和类型 3.1 类和结构 3.2 类成员 3.2.1 数据成员 3.2.2 函数成员 3.2.3 只读字段 3.3 匿名类型 3.4 结构 3.4.1 结构是值类型 3.4.2 结构和继承 3.4.3 结构的构造函数 3.5 部分类 3.6 静态类 3.7 Object类 3.7.1 System.Object方法 3.7.2 ToString()方法 3.8 扩展方法 3.9 小结 第4章 继承 4.1 继承的类型 4.1.1 实现继承和接口继承 4.1.2 多重继承 4.1.3 结构和类 4.2 实现继承 4.2.1 虚方法 4.2.2 隐藏方法 4.2.3 调用函数的基类版本 4.2.4 抽象类和抽象函数 4.2.5 密封类和密封方法 4.2.6 派生类的构造函数 4.3 修饰符 4.3.1 可见性修饰符 4.3.2 其他修饰符 4.4 接口 4.4.1 定义和实现接口 4.4.2 派生的接口 4.5 小结 第5章 数组 5.1 简单数组 5.1.1 数组的声明 5.1.2 数组的初始化 5.1.3 访问数组元素 5.1.4 使用引用类型 5.2 多维数组 5.3 锯齿数组 5.4 Array类 5.4.1 属性 5.4.2 创建数组 5.4.3 复制数组 5.4.4 排序 5.5 数组和集合接口 5.5.1 IEumerable接口 5.5.2 ICollection接口 5.5.3 IList接口 5.6 枚举 5.6.1 IEnumerator接口 5.6.2 foreach语句 5.6.3 yield语句 5.7 小结 第6章 运算符和类型强制转换 6.1 运算符 6.1.1 运算符的简化操作 6.1.2 条件运算符 6.1.3 checked和unchecked运算符 6.1.4 is运算符 6.1.5 as运算符 6.1.6 sizeof运算符 6.1.7 typeof运算符 6.1.8 可空类型和运算符 6.1.9 空接合运算符 6.1.10 运算符的优先级 6.2 类型的安全性 6.2.1 类型转换 6.2.2 装箱和拆箱 6.3 对象的相等比较 6.3.1 引用类型的相等比较 6.3.2 值类型的相等比较 6.4 运算符重载 6.4.1 运算符的工作方式 6.4.2 运算符重载的示例:Vector结构 6.5 用户定义的数据类型转换 6.5.1 执行用户定义的类型转换 6.5.2 多重数据类型转换 6.6 小结 第7章 委托和事件 7.1 委托 7.1.1 在C#中声明委托 7.1.2 在C#中使用委托 7.1.3 简单的委托示例 7.1.4 BubbleSorter示例 7.1.5 多播委托 7.1.6 匿名方法 7.1.7 表达式 7.1.8 协变和抗变 7.2 事件 7.2.1 从接收器的角度讨论事件 7.2.2 生成事件 7.3 小结 第8章 字符串和正则表达式 8.1 System.String类 8.1.1 创建字符串 8.1.2 StringBuilder成员 8.1.3 格式化字符串 8.2 正则表达式 8.2.1 正则表达式概述 8.2.2 RegularExpressionsPlayaround示例 8.2.3 显示结果 8.2.4 匹配、组合和捕获 8.3 小结 第9章 泛型 9.1 概述 9.1.1 性能 9.1.2 类型安全 9.1.3 二进制代码的重用 9.1.4 代码的扩展 9.1.5 命名约定 9.2 创建泛型类 9.3 泛型类的特性 9.3.1 默认值 9.3.2 约束 9.3.3 继承 9.3.4 静态成员 9.4 泛型接口 9.5 泛型方法 9.6 泛型委托 9.6.1 执行委托调用的方法 9.6.2 对Array类使用泛型委托 9.7 Framework的其他泛型类型 9.7.1 结构Nullable 9.7.2 EventHandler 9.7.3 ArraySegment 9.8 小结 第10章 集合 10.1 集合接口和类型 10.2 列表 10.2.1 创建列表 10.2.2 只读集合 10.3 队列 10.4 栈 10.5 链表 10.6 有序表 10.7 字典 10.7.1 键的类型 10.7.2 字典示例 10.7.3 Lookup类 10.7.4 其他字典类 10.8 HashSet 10.9 位数组 10.9.1 BitArray 10.9.2 BitVector32 10.10 性能 10.11 小结 第11章 Language Integrated Query 11.1 LINQ概述 11.1.1 使用List的查询 11.1.2 扩展方法 11.1.3 λ表达式 11.1.4 LINQ查询 11.1.5 推迟查询的执行 11.2 标准的查询操作符 11.2.1 过滤 11.2.2 用索引来过滤 11.2.3 类型过滤 11.2.4 复合的from子句 11.2.5 排序 11.2.6 分组 11.2.7 对嵌套的对象分组 11.2.8 连接 11.2.9 设置操作 11.2.10 分区 11.2.11 合计操作符 11.2.12 转换 11.2.13 生成操作符 11.3 表达式树 11.4 LINQ提供程序 11.5 小结 第12章 内存管理和指针 12.1 后台内存管理 12.1.1 值数据类型 12.1.2 引用数据类型 12.1.3 垃圾收集 12.2 释放未托管的资源 12.2.1 析构函数 12.2.2 IDisposable接口 12.2.3 实现IDisposable接口和析构函数 12.3 不安全的代码 12.3.1 用指针直接访问内存 12.3.2 指针示例:PointerPlayaround 12.3.3 使用指针优化性能 12.4 小结 第13章 反射 13.1 定制特性 13.1.1 编写定制特性 13.1.2 定制特性示例:WhatsNewAttributes 13.2 反射 13.2.1 System.Type类 13.2.2 TypeView示例 13.2.3 Assembly类 13.2.4 完成WhatsNewAttributes示例 13.3 小结 第14章 错误和异常 14.1 异常类 14.2 捕获异常 14.2.1 执行多个catch块 14.2.2 在其他代码中捕获异常 14.2.3 System.Exception属性 14.2.4 没有处理异常时所发生的情况 14.2.5 嵌套的 try块 14.3 用户定义的异常类 14.3.1 捕获用户定义的异常 14.3.2 抛出用户定义的异常 14.3.3 定义异常类 14.4 小结 第Ⅱ部分 Visual Studio 第15章 Visual Studio 2008 15.1 使用Visual Studio 2008 15.1.1 创建项目 15.1.2 解决方案和项目 15.1.3 Windows应用程序代码 15.1.4 读取Visual Studio 6项目 15.1.5 项目的浏览和编码 15.1.6 生成项目 15.1.7 调试 15.2 修订功能 15.3 多目标 15.4 WPF、WCF、WF等 15.4.1 在Visual Studio中建立WPF应用程序 15.4.2 在Visual Studio中建立WF应用程序 15.5 小结 第16章 部署 16.1 部署的设计 16.2 部署选项 16.2.1 Xcopy实用工具 16.2.2 Copy Web工具 16.2.3 发布Web站点 16.2.4 部署项目 16.2.5 ClickOnce 16.3 部署的要求 16.4 部署.NET运行库 16.5 简单的部署 16.5.1 Xcopy部署 16.5.2 Xcopy和Web应用程序 16.5.3 Copy Web工具 16.5.4 发布Web站点 16.6 Installer项目 16.6.1 Windows Installer 16.6.2 创建安装程序 16.7 ClickOnce 16.7.1 ClickOnce操作 16.7.2 发布应用程序 16.7.3 ClickOnce设置 16.7.4 应用程序缓存 16.7.5 安全性 16.7.6 高级选项 16.8 小结 第Ⅲ部分 基类库 第17章 程序集 17.1 程序集的含义 17.1.1 程序集的特性 17.1.2 程序集的结构 17.1.3 程序集的清单 17.1.4 命名空间、程序集和组件 17.1.5 私有程序集和共享程序集 17.1.6 辅助程序集 17.1.7 查看程序集 17.2 构建程序集 17.2.1 创建模块和程序集 17.2.2 程序集的属性 17.3 动态加载和创建程序集 17.4 应用程序域 17.5 共享程序集 17.5.1 强名 17.5.2 使用强名获得完整性 17.5.3 全局程序集缓存 17.5.4 创建共享程序集 17.5.5 创建强名 17.5.6 安装共享程序集 17.5.7 使用共享程序集 17.5.8 程序集的延迟签名 17.5.9 引用 17.5.10 本机图像生成器 17.6 配置.NET应用程序 17.6.1 配置类别 17.6.2 为搜索程序集配置目录 17.7 版本问题 17.7.1 版本号 17.7.2 编程获取版本 17.7.3 应用程序配置文件 17.7.4 发布方的策略文件 17.7.5 运行库的版本 17.8 小结 第18章 跟踪和事件 18.1 跟踪 18.1.1 跟踪源 18.1.2 跟踪开关 18.1.3 跟踪监听器 18.1.4 过滤器 18.1.5 断言 18.2 事件日志 18.2.1 事件日志体系架构 18.2.2 事件日志类 18.2.3 创建事件源 18.2.4 写入事件日志 18.2.5 资源文件 18.3 性能监控 18.3.1 性能监控类 18.3.2 性能计数器的构建 18.3.3 添加PerformanceCounter组件 18.3.4 perfmon.exe 18.4 小结 第19章 线程和同步 19.1 概述 19.2 异步委托 19.2.1 投票 19.2.2 等待句柄 19.2.3 异步回调 19.3 Thread类 19.3.1 给线程传送数据 19.3.2 后台线程 19.3.3 线程的优先级 19.3.4 控制线程 19.4 线程池 19.5 线程问题 19.5.1 竞态条件 19.5.2 死锁 19.6 同步 19.6.1 lock语句和线程安全 19.6.2 Interlocked 19.6.3 Monitor类 19.6.4 等待句柄 19.6.5 Mutex类 19.6.6 Semaphore类 19.6.7 Events类 19.6.8 ReaderWriterLockSlim 19.7 Timer类 19.8 COM单元 19.9 基于事件的异步模式 19.9.1 BackgroundWorker类 19.9.2 激活取消功能 19.9.3 激活进度功能 19.9.4 创建基于事件的异步组件 19.10 小结 第20章 安全性 20.1 身份验证和授权 20.1.1 标识和Principal 20.1.2 角色 20.1.3 声明基于角色的安全性 20.1.4 客户应用程序服务 20.2 加密 20.2.1 签名 20.2.2 密钥的互换和安全传送 20.3 资源的访问控制 20.4 代码访问的安全性 20.4.1 权限 20.4.2 代码组 20.4.3 策略的级别:Machine、User和Enterprise 20.5 安全策略的管理 20.5.1 代码组和权限的管理 20.5.2 安全性的启用和禁用 20.5.3 代码组的创建 20.5.4 代码组的删除 20.5.5 代码组权限的更改 20.5.6 权限集的创建和应用 20.5.7 使用强名发布代码 20.5.8 使用证书发布代码 20.6 小结 第21章 本地化 21.1 System.Globalization命名空间 21.1.1 Unicode问题 21.1.2 文化和区域 21.1.3 使用文化 21.1.4 排序 21.2 资源 21.2.1 创建资源文件 21.2.2 资源文件生成器 21.2.3 ResourceWriter 21.2.4 使用资源文件 21.2.5 System.Resources命名空间 21.3 使用Visual Studio的Windows Forms本地化示例 21.3.1 编程修改文化 21.3.2 使用定制资源文件 21.3.3 资源的自动回退 21.3.4 外包翻译 21.4 用ASP NET本地化 21.5 用WPF本地化 21.5.1 WPF应用程序 21.5.2 .NET资源 21.5.3 用XAML本地化 21.6 定制的资源读取器 21.6.1 创建DatabaseResourceReader类 21.6.2 创建DatabaseResourceSet类 21.6.3 创建DatabaseResource-Manager类 21.6.4 DatabaseResourceReader的客户应用程序 21.7 创建定制文化 21.8 小结 第22章 事务处理 22.1 概述 22.1.1 事务处理阶段 22.1.2 ACID属性 22.2 数据库和实体类 22.3 传统的事务处理 22.3.1 ADO NET事务处理 22.3.2 System.EnterpriseServices 22.4 System.Transactions 22.4.1 可提交的事务处理 22.4.2 事务处理的升级 22.4.3 依赖的事务处理 22.4.4 环境事务处理 22.5 隔离级别 22.6 定制资源管理器 22.7 Windows Vista和Windows Server 2008 的事务处理 22.8 小结 第23章 Windows服务 23.1 Windows服务 23.2 Windows服务的体系结构 23.2.1 服务程序 23.2.2 服务控制程序 23.2.3 服务配置程序 23.3 System.ServiceProcess命名空间 23.4 创建Windows服务 23.4.1 使用套接字的类库 23.4.2 TcpClient示例 23.4.3 Windows服务项目 23.4.4 线程和服务 23.4.5 服务的安装 23.4.6 安装程序 23.5 服务的监视和控制 23.5.1 MMC计算机管理 23.5.2 net.exe 23.5.3 sc.exe 23.5.4 Visual Studio Server Explorer 23.5.5 ServiceController类 23.6 故障排除 23.6.1 交互式服务 23.6.2 事件日志 23.7 电源事件 23.8 小结 第24章 互操作性 24.1 .NET和COM 24.1.1 元数据 24.1.2 释放内存 24.1.3 接口 24.1.4 方法绑定 24.1.5 数据类型 24.1.6 注册 24.1.7 线程 24.1.8 错误处理 24.1.9 事件处理 24.2 编组 24.3 在.NET客户程序中使用COM组件 24.3.1 创建COM组件 24.3.2 创建Runtime Callable Wrapper 24.3.3 使用RCW 24.3.4 可交互操作的主程序集 24.3.5 线程问题 24.3.6 添加连接点 24.3.7 在Windows窗体中使用ActiveX控件 24.3.8 在ASP NET中使用COM对象 24.4 在COM客户程序中使用.NET组件 24.4.1 COM Callable Wrapper 24.4.2 创建.NET组件 24.4.3 创建类型库 24.4.4 COM互操作特性 24.4.5 COM注册 24.4.6 创建COM客户程序 24.4.7 添加连接点 24.4.8 用sink对象创建客户程序 24.4.9 在Internet Explorer中运行Windows窗体控件 24.5 平台调用 24.6 小结 第Ⅳ部分 数 据 第25章 文件和注册表操作 25.1 管理文件系统 25.1.1 表示文件和文件夹的.NET类 25.1.2 Path类 25.1.3 示例:文件浏览器 25.2 移动、复制和删除文件 25.2.1 FilePropertiesAndMovement示例 25.2.2 示例FilePropertiesAnd-Movement的代码 25.3 读写文件 25.3.1 读取文件 25.3.2 写入文件 25.3.3 流 25.3.4 缓存的流 25.3.5 使用FileStream类读写二进制文件 25.3.6 读写文本文件 25.4 读取驱动器信息 25.5 文件的安全性 25.5.1 从文件中读取ACL 25.5.2 从目录中读取ACL 25.5.3 添加和删除文件中的ACL项 25.6 读写注册表 25.6.1 注册表 25.6.2 .NET注册表类 25.6.3 SelfPlacingWindow示例 25.7 读写独立存储器 25.8 小结 第26章 .NET数据访问 26.1 ADO NET概述 26.1.1 命名空间 26.1.2 共享类 26.1.3 数据库特定的类 26.2 使用数据库连接 26.2.1 管理连接字符串 26.2.2 高效地使用连接 26.2.3 事务处理 26.3 命令 26.3.1 执行命令 26.3.2 调用存储过程 26.4 快速数据访问:数据读取器 26.5 管理数据和关系:DataSet类 26.5.1 数据表 26.5.2 数据列 26.5.3 数据关系 26.5.4 数据约束 26.6 XML模式:用XSD生成代码 26.7 填充数据集 26.7.1 用数据适配器来填充DataSet 26.7.2 从XML中给数据集填充数据 26.8 保存对数据集的修改 26.8.1 通过数据适配器进行更新 26.8.2 写入XML输出结果 26.9 使用ADO NET 26.9.1 分层开发 26.9.2 生成SQL Server的键 26.9.3 命名约定 26.10 小结 第27章 LINQ to SQL 27.1 LINQ to SQL和Visual Studio 2008 27.1.1 使用LINQ to SQL调用Products表——创建控制台应用程序 27.1.2 添加LINQ to SQL类 27.1.3 O/R设计器概述 27.1.4 创建Product对象 27.2 对象映射到LINQ对象上 27.2.1 DataContext对象 27.2.2 Table对象 27.3 不使用O/R设计器工作 27.3.1 创建自己的定制对象 27.3.2 用定制的对象和LINQ进行查询 27.3.3 用查询限制所调用的列 27.3.4 使用列名 27.3.5 创建自己的DataContext对象 27.4 定制对象和O/R设计器 27.5 查询数据库 27.5.1 使用查询表达式 27.5.2 查询表达式 27.5.3 使用表达式过滤 27.5.4 连接 27.5.5 组合数据项 27.6 存储过程 27.7 小结 第28章 处理XML 28.1 .NET支持的XML标准 28.2 System.Xml命名空间 28.3 使用System.Xml类 28.4 读写流格式的XML 28.4.1 使用 XmlReader类 28.4.2 使用XmlReader类进行验证 28.4.3 使用XmlWriter类 28.5 在.NET中使用DOM 28.6 使用XPathNavigator 28.6.1 System.Xml.XPath命名空间 28.6.2 System.Xml.Xsl命名空间 28.6.3 调试XSLT 28.7 XML和ADO NET 28.7.1 将ADO NET数据转换为XML文档 28.7.2 把XML文档转换为ADO NET数据 28.8 在XML中串行化对象 28.9 小结 第29章 LINQ to XML 29.1 LINQ to XML和.NET 3.5 29.1.1 创建XML文档的新对象 29.1.2 Visual Basic 2008开辟了另一条道路 29.1.3 命名空间和前缀 29.2 .NET Framework 3.5中的新XML对象 29.2.1 XDocument对象 29.2.2 XElement对象 29.2.3 XNamespace对象 29.2.4 XComment对象 29.2.5 XAttribute对象 29.3 使用LINQ查询XML文档 29.3.1 查询静态的XML文档 29.3.2 查询动态的XML文档 29.4 处理XML文档 29.4.1 读取XML文档 29.4.2 写入XML文档 29.5 使用LINQ to SQL和LINQto XML 29.5.1 建立LINQ to SQL组件 29.5.2 查询数据库,输出XML 29.6 小结 第30章 .NET编程和SQL Server 30.1 .NET运行库的主机 30.2 Microsoft.SqlServer.Server 30.3 用户定义的类型 30.3.1 创建UDT 30.3.2 使用UDT 30.3.3 在客户端代码中使用UDT 30.4 用户定义的合计函数 30.4.1 创建用户定义的合计函数 30.4.2 使用用户定义的合计函数 30.5 存储过程 30.5.1 创建存储过程 30.5.2 使用存储过程 30.6 用户定义的函数 30.6.1 创建用户定义的函数 30.6.2 使用用户定义的函数 30.7 触发器 30.7.1 创建触发器 30.7.2 使用触发器 30.8 XML数据类型 30.8.1 包含XML数据的表 30.8.2 读取XML值 30.8.3 数据的查询 30.8.4 XML数据修改语言(XML DML) 30.8.5 XML索引 30.8.6 强类型化的XML 30.9 小结 第Ⅴ部分 显示 第31章 Windows窗体 31.1 创建Windows窗体应用程序类层次结构 31.2 Control类 31.2.1 大小和位置 31.2.2 外观 31.2.3 用户交互操作 31.2.4 Windows功能 31.2.5 杂项功能 31.3 标准控件和组件 31.3.1 Button控件 31.3.2 CheckBox控件 31.3.3 RadioButton控件 31.3.4 ComboBox控件、ListBox控件和CheckedListBox控件 31.3.5 DateTimePicker控件 31.3.6 ErrorProvider组件 31.3.7 HelpProvider组件 31.3.8 ImageList组件 31.3.9 Label控件 31.3.10 ListView控件 31.3.11 PictureBox控件 31.3.12 ProgressBar控件 31.3.13 TextBox控件、RichTextBox控件与MaskedTextBox控件 31.3.14 Panel控件 31.3.15 FlowLayoutPanel和TableLayoutPanel控件 31.3.16 SplitContainer控件 31.3.17 TabControl控件和TabPages控件 31.3.18 ToolStrip控件 31.3.19 MenuStrip控件 31.3.20 ContextMenuStrip控件 31.3.21 ToolStripMenuItem控件 31.3.22 ToolStripManager类 31.3.23 ToolStripContainer控件 31.4 窗体 31.4.1 Form类 31.4.2 多文档界面 31.4.3 定制控件 31.5 小结 第32章 数据绑定 32.1 DataGridView控件 32.1.1 显示列表数据 32.1.2 数据源 32.2 DataGridView类的层次结构 32.3 数据绑定 32.3.1 简单的绑定 32.3.2 数据绑定对象 32.4 Visual Studio和数据访问 32.4.1 创建一个连接 32.4.2 选择数据 32.4.3 更新数据源 32.4.4 其他常见的要求 32.5 小结 第33章 使用GDI+绘图 33.1 理解绘图规则 33.1.1 GDI和GDI+ 33.1.2 绘制图形 33.1.3 使用OnPaint()绘制图形 33.1.4 使用剪切区域 33.2 测量坐标和区域 33.2.1 Point和PointF结构 33.2.2 Size和SizeF结构 33.2.3 Rectangle和RectangleF结构 33.2.4 Region 33.3 调试须知 33.4 绘制可滚动的窗口 33.5 世界、页面和设备坐标 33.6 颜色 33.6.1 红绿蓝(RGB)值 33.6.2 命名的颜色 33.6.3 图形显示模式和安全的调色板 33.6.4 安全调色板 33.7 画笔和钢笔 33.7.1 画笔 33.7.2 钢笔 33.8 绘制图形和线条 33.9 显示图像 33.10 处理图像时的问题 33.11 绘制文本 33.12 简单的文本示例 33.13 字体和字体系列 33.14 示例:枚举字体系列 33.15 编辑文本文档:CapsEditor示例 33.15.1 Invalidate()方法 33.15.2 计算项和文档的大小 33.15.3 OnPaint() 33.15.4 坐标转换 33.15.5 响应用户的输入 33.16 打印 33.17 小结 第34章 Windows Presentation Foundation 34.1 概述 34.1.1 XAML 34.1.2 设计人员和开发人员的合作 34.1.3 类层次结构 31.1.4 命名空间 34.2 形状 34.3 变换 34.4 笔刷 34.4.1 SolidColorBrush 34.4.2 LinearGradientBrush 34.4.3 RadialGradientBrush 34.4.4 DrawingBrush 34.4.5 ImageBrush 34.4.6 VisualBrush 34.5 控件 34.5.1 简单控件 34.5.2 内容控件 34.5.3 有标题的内容控件 34.5.4 项控件 34.5.5 带标题的项控件 34.6 布局 34.6.1 StackPanel 34.6.2 WrapPanel 34.6.3 Canvas 34.6.4 DockPanel 34.6.5 Grid 34.7 事件处理 34.8 样式、模板和资源 34.8.1 样式 34.8.2 资源 34.8.3 创建列表框的样式 34.9 小结 第35章 高级WPF 35.1 数据绑定 35.1.1 概述 35.1.2 用XAML绑定 35.1.3 简单对象的绑定 35.1.4 对象数据提供程序 35.1.5 列表绑定 35.1.6 绑定到XML上 35.1.7 绑定的验证 35.2 命令绑定 35.3 动画 35.3.1 时间线 35.3.2 触发器 35.3.3 故事板1 35.4 在WPF中添加3D特性 35.5 Windows窗体集成 35.5.1 Windows窗体中的WPF控件 35.5.2 WPF应用程序中的Windows窗体控件 35.6 WPF浏览器应用程序 35.7 小结 第36章 插件 36.1 System.AddIn体系结构 36.1.1 插件的问题 36.1.2 管道体系结构 36.1.3 发现 36.1.4 激活和隔离 36.1.5 合同 36.1.6 生存期 36.1.7 版本问题 36.2 插件示例 36.2.1 计算器合同 36.2.2 计算器插件视图 36.2.3 计算器插件适配器 36.2.4 计算器插件 36.2.5 计算器主机视图 36.2.6 计算机主机适配器 36.2.7 计算器主机 36.2.8 其他插件 36.3 小结 第37章 ASP NET页面 37.1 ASP NET概述 37.2 ASP NET Web窗体 37.2.1 ASP NET代码模型 37.2.2 ASP NET服务器控件 37.3 ADO NET和数据绑定 37.3.1 更新会议登记应用程序 37.3.2 数据绑定的更多内容 37.4 应用程序配置 37.5 小结 第38章 ASP NET开发 38.1 用户控件和定制控件 38.1.1 用户控件 38.1.2 PCSDemoSite中的用户控件 38.1.3 定制控件 38.2 Master页面 38.2.1 在Web页面中访问Master页面 38.2.2 嵌套的Master页面 38.2.3 PCSDemoSite中的Master页面 38.3 站点导航 38.4 安全性 38.4.1 使用安全向导添加Forms身份验证功能 38.4.2 实现登录系统 38.4.3 Web 登录服务器控件 38.4.4 保护目录 38.4.5 PCSDemoSite中的安全性 38.5 主题 38.5.1 把主题应用于页面 38.5.2 定义主题 38.5.3 PCSDemoSite中的主题 38.6 Web Parts 38.6.1 Web Parts应用程序组件 38.6.2 Web Parts示例 38.7 小结 第39章 ASP NET AJAX 39.1 Ajax的概念 39.2 ASP NET AJAX 39.2.1 核心功能 39.2.2 ASP NET AJAX Control Toolkit 39.3 使用ASP NET AJAX 39.3.1 ASP NET AJAX网站示例 39.3.2 支持ASP NET AJAX的网站配置 39.3.3 添加ASP NET AJAX功能 39.3.4 使用AJAX库 39.4 小结 第40章 Visual Studio Tools for Office 40.1 VSTO概述 40.1.1 项目类型 40.1.2 项目特性 40.2 VSTO基础 40.2.1 Office对象模型 40.2.2 VSTO命名空间 40.2.3 主机项和主机控件 40.2.4 基本的VSTO项目结构 40.2.5 Globals类 40.2.6 事件处理 40.3 建立VSTO解决方案 40.3.1 管理应用程序级插件 40.3.2 与应用程序和文档交互操作 40.3.3 UI的定制 40.4 示例应用程序 40.5 VBA交互操作性 40.6 小结 第Ⅵ部分 通信 第41章 访问Internet 41.1 WebClient类 41.1.1 下载文件 41.1.2 基本的Web客户示例 41.1.3 上传文件 41.2 WebRequest类和WebResponse类 41.3 把输出结果显示为HTML页面 41.3.1 在应用程序中进行简单的Web浏览 41.3.2 启动Internet Explorer实例 41.3.3 给应用程序提供更多的IE类型特性 41.3.4 使用WebBrowser控件打印 41.3.5 显示请求页面的代码 41.3.6 WebRequest和WebResponse的层次结构 41.4 实用工具类 41.4.1 URI 41.4.2 IP地址和DNS名称 41.5 较低层的协议 41.6 小结 第42章 Windows Communication Foundation 42.1 WCF概述 42.1.1 SOAP 42.1.2 WSDL 42.1.3 JSON 42.2 简单的服务和客户 42.2.1 服务合同 42.2.2 服务的实现 42.2.3 WCF服务主机和WCF测试客户机 42.2.4 定制服务主机 42.2.5 WCF客户程序 42.2.6 诊断 42.3 合同 42.3.1 数据合同 42.3.2 版本问题 42.3.3 服务合同 42.3.4 消息合同 42.4 服务的实现 42.5 绑定 42.6 主机 42.6.1 定制主机 42.6.2 WAS主机 42.7 客户程序 42.8 双向通信 42.9 小结 第43章 Windows Workflow Foundation 43.1 Hello World示例 43.2 活动 43.2.1 IfElseActivity 43.2.2 ParallelActivity 43.2.3 CallExternalMethodActivity 43.2.4 DelayActivity 41.2.5 ListenActivity 43.2.6 活动的执行模型 43.3 定制的活动 43.3.1 活动的有效性验证 43.3.2 主题和设计器 43.3.3 ActivityToolboxItem和图标 43.3.4 定制的复合活动 43.4 工作流 43.4.1 系列工作流 43.4.2 状态机工作流 43.4.3 给工作流传送参数 43.4.4 从工作流中返回结果 43.4.5 将参数绑定到活动上 43.5 工作流运行库 43.6 工作流服务 43.6.1 持续服务 43.6.2 跟踪服务 43.6.3 定制服务 43.7 与WCF集成 43.8 保存工作流 43.9 工作流设计器 43.10 小结 第44章 Enterprise Services 44.1 概述 44.1.1 Enterprise Services简史 44.1.2 使用Enterprise Services的场合 44.1.3 环境 44.1.4 自动的事务处理 44.1.5 分布式事务处理 44.1.6 对象池 44.1.7 基于角色的安全性 44.1.8 排队的组件 44.1.9 松散藕合的事件 44.2 创建简单的COM+应用程序 44.2.1 类ServicedComponent 44.2.2 标记程序集 44.2.3 程序集的属性 44.2.4 创建组件 44.3 部署 44.3.1 自动部署 44.3.2 手工部署 44.3.3 创建安装软件包 44.4 Component Services浏览器 44.5 客户应用程序 44.6 事务处理 44.6.1 事务处理的属性 44.6.2 事务处理的结果 44.7 示例应用程序 44.7.1 实体类 44.7.2 OrderControl组件 44.7.3 OrderData组件 44.7.4 OrderLineData组件 44.7.5 客户应用程序 44.8 集成WCF和Enterprise Services 44.8.1 WCF服务Façade 44.8.2 客户程序 44.9 小结 第45章 消息队列 45.1 概述 45.1.1 使用Message Queuing的场合 45.1.2 Message Queuing特性 45.2 Message Queuing产品 45.3 Message Queuing结构 45.3.1 消息 45.3.2 消息队列 45.4 Message Queuing管理工具 45.4.1 创建消息队列 45.4.2 消息队列属性 45.5 Message Queuing的编程实现 45.5.1 创建消息队列 45.5.2 查找队列 45.5.3 打开已知的队列 45.5.4 发送消息 45.5.5 接收消息 45.6 课程订单应用程序 45.6.1 课程订单类库 45.6.2 课程订单消息发送程序 45.6.3 发送优先级和可恢复的消息 45.6.4 课程订单消息接收程序 45.7 接收结果 45.7.1 确认队列 45.7.2 响应队列 45.8 事务队列 45.9 消息队列和WCF 45.9.1 带数据合同的实体类 45.9.2 WCF服务合同 45.9.3 WCF消息接收程序 45.9.4 WCF消息发送程序 45.10 消息队列的安装 45.11 小结 第46章 目录服务 46.1 Active Directory的体系结构 46.1.1 特性 46.1.2 Active Directory的概念 46.1.3 Active Directory数据的特性 46.1.4 模式 46.2 Active Directory的管理工具 46.2.1 Active Directory Users and Computers工具 46.2.2 ADSI Edit工具 46.3 Active Directory编程 46.3.1 System.DirectoryServices命名空间中的类 46.3.2 绑定 46.3.3 获取目录项 46.3.4 对象集合 46.3.5 缓存 46.3.6 创建新对象 46.3.7 更新目录项 46.3.8 访问内部的ADSI对象 46.3.9 在Active Directory中搜索 46.4 搜索用户对象 46.4.1 用户界面 46.4.2 获取模式命名环境 46.4.3 获取User类的属性名 46.4.4 搜索用户对象 46.5 账户管理 46.5.1 显示用户信息 46.5.2 创建用户 46.5.3 重置密码 46.5.4 创建组 46.5.5 在组中添加用户 46.5.6 查找用户 46.6 DSML 46.6.1 命名空间System.Directory-Services.Protocols中的类 46.6.2 用DSML搜索Active Directory对象 46.7 小结 第47章 对等网络 47.1 P2P概述 47.1.1 客户机-服务器体系结构 47.1.2 P2P体系结构 47.1.3 P2P体系结构的挑战 47.1.4 P2P术语 47.1.5 P2P解决方案 47.2 Microsoft Windows Peer-to-Peer Networking 47.2.1 Peer Name Resolution Protocol(PNRP) 47.2.2 People Near Me 47.3 建立P2P应用程序 47.3.1 System Net.PeerToPeer 47.3.2 System Net.PeerToPeer.Collaboration 47.4 小结 第48章 Syndication 48.1 System.ServiceModel.Syndication命名空间概述 48.2 Syndication阅读器 48.3 提供SyndicationFeed 48.4 小结 第Ⅶ部分 附录 附录A ADO NET Entity Framework 附录B C#、Visual Basic和C++/CLI 附录C Windows Vista和Windows Server 2008
93.26MB
C#高级编程(第6版).(清华出版.李铭译.黄静审校).part5
2016-07-13书名:《C#高级编程(第6版)》(清华大学出版社.李铭译.黄静审校) PDF格式扫描版,全书分为48章,共1557页。2008年10月出版。 (注:原名为:Professional C# 2008,原书无书签,为了方便阅读,本人制作了详细完整的书签) 因文件较大,全书压缩打包成5部分,这是第5部分。 内容简介 本书是C#经典名著!也是Wrox皮书中最畅销的品种之一,从第 1版开始就名满天下:其第3版被中华读书报、CSDN、《程序员》等机构评选为2005年最权威的十大IT图书之一。第6版面向C#2008和,NET 3.5,在全面展示,NET和C#新特性的同时继续完善原有的内容,是有一些C#基础知识的读者或者想迁移到C#的其他程序员全面掌握C#2008的首选教程。 本书适合程序开发人员,也可供大、中专院校师生阅读。 目 录 第Ⅰ部分 C# 语言 第1章 .NET体系结构 1.1 C#与.NET的关系 1.2 公共语言运行库 1.2.1 平台无关性 1.2.2 提高性能 1.2.3 语言的互操作性 1.3 中间语言 1.3.1 面向对象和接口的支持 1.3.2 相异值类型和引用类型 1.3.3 强数据类型 1.3.4 通过异常处理错误 1.3.5 特性的使用 1.4 程序集 1.4.1 私有程序集 1.4.2 共享程序集 1.4.3 反射 1.5 .NET Framework类 1.6 命名空间 1.7 用C#创建.NET应用程序 1.7.1 创建ASP NET应用程序 1.7.2 创建Windows窗体 1.7.3 使用Windows Presentation Foundation(WPF) 1.7.4 Windows控件 1.7.5 Windows服务 1.7.6 Windows Communication Foundation(WCF) 1.8 C#在.NET企业体系结构中的作用 1.9 小结 第2章 C#基础 2.1 引言 2.2 第一个C#程序 2.2.1 代码 2.2.2 编译并运行程序 2.2.3 详细介绍 2.3 变量 2.3.1 变量的初始化 2.3.2 类型推断 2.3.3 变量的作用域 2.3.4 常量 2.4 预定义数据类型 2.4.1 值类型和引用类型 2.4.2 CTS类型 2.4.3 预定义的值类型 2.4.4 预定义的引用类型 2.5 流控制 2.5.1 条件语句 2.5.2 循环 2.5.3 跳转语句 2.6 枚举 2.7 数组 2.8 命名空间 2.8.1 using语句 2.8.2 命名空间的别名 2.9 Main()方法 2.9.1 多个Main()方法 2.9.2 给Main()方法传送参数 2.10 有关编译C#文件的更多内容 2.11 控制台I/O 2.12 使用注释 2.12.1 源文件中的内部注释 2.12.2 XML文档说明 2.13 C#预处理器指令 2.13.1 #define和 #undef 2.13.2 #if, #elif, #else和#endif 2.13.3 #warning和 # error 2.13.4 #region和#endregion 2.13.5 #line 2.13.6 #pragma 2.14 C#编程规则 2.14.1 用于标识符的规则 2.14.2 用法约定 2.15 小结 第3章 对象和类型 3.1 类和结构 3.2 类成员 3.2.1 数据成员 3.2.2 函数成员 3.2.3 只读字段 3.3 匿名类型 3.4 结构 3.4.1 结构是值类型 3.4.2 结构和继承 3.4.3 结构的构造函数 3.5 部分类 3.6 静态类 3.7 Object类 3.7.1 System.Object方法 3.7.2 ToString()方法 3.8 扩展方法 3.9 小结 第4章 继承 4.1 继承的类型 4.1.1 实现继承和接口继承 4.1.2 多重继承 4.1.3 结构和类 4.2 实现继承 4.2.1 虚方法 4.2.2 隐藏方法 4.2.3 调用函数的基类版本 4.2.4 抽象类和抽象函数 4.2.5 密封类和密封方法 4.2.6 派生类的构造函数 4.3 修饰符 4.3.1 可见性修饰符 4.3.2 其他修饰符 4.4 接口 4.4.1 定义和实现接口 4.4.2 派生的接口 4.5 小结 第5章 数组 5.1 简单数组 5.1.1 数组的声明 5.1.2 数组的初始化 5.1.3 访问数组元素 5.1.4 使用引用类型 5.2 多维数组 5.3 锯齿数组 5.4 Array类 5.4.1 属性 5.4.2 创建数组 5.4.3 复制数组 5.4.4 排序 5.5 数组和集合接口 5.5.1 IEumerable接口 5.5.2 ICollection接口 5.5.3 IList接口 5.6 枚举 5.6.1 IEnumerator接口 5.6.2 foreach语句 5.6.3 yield语句 5.7 小结 第6章 运算符和类型强制转换 6.1 运算符 6.1.1 运算符的简化操作 6.1.2 条件运算符 6.1.3 checked和unchecked运算符 6.1.4 is运算符 6.1.5 as运算符 6.1.6 sizeof运算符 6.1.7 typeof运算符 6.1.8 可空类型和运算符 6.1.9 空接合运算符 6.1.10 运算符的优先级 6.2 类型的安全性 6.2.1 类型转换 6.2.2 装箱和拆箱 6.3 对象的相等比较 6.3.1 引用类型的相等比较 6.3.2 值类型的相等比较 6.4 运算符重载 6.4.1 运算符的工作方式 6.4.2 运算符重载的示例:Vector结构 6.5 用户定义的数据类型转换 6.5.1 执行用户定义的类型转换 6.5.2 多重数据类型转换 6.6 小结 第7章 委托和事件 7.1 委托 7.1.1 在C#中声明委托 7.1.2 在C#中使用委托 7.1.3 简单的委托示例 7.1.4 BubbleSorter示例 7.1.5 多播委托 7.1.6 匿名方法 7.1.7 表达式 7.1.8 协变和抗变 7.2 事件 7.2.1 从接收器的角度讨论事件 7.2.2 生成事件 7.3 小结 第8章 字符串和正则表达式 8.1 System.String类 8.1.1 创建字符串 8.1.2 StringBuilder成员 8.1.3 格式化字符串 8.2 正则表达式 8.2.1 正则表达式概述 8.2.2 RegularExpressionsPlayaround示例 8.2.3 显示结果 8.2.4 匹配、组合和捕获 8.3 小结 第9章 泛型 9.1 概述 9.1.1 性能 9.1.2 类型安全 9.1.3 二进制代码的重用 9.1.4 代码的扩展 9.1.5 命名约定 9.2 创建泛型类 9.3 泛型类的特性 9.3.1 默认值 9.3.2 约束 9.3.3 继承 9.3.4 静态成员 9.4 泛型接口 9.5 泛型方法 9.6 泛型委托 9.6.1 执行委托调用的方法 9.6.2 对Array类使用泛型委托 9.7 Framework的其他泛型类型 9.7.1 结构Nullable 9.7.2 EventHandler 9.7.3 ArraySegment 9.8 小结 第10章 集合 10.1 集合接口和类型 10.2 列表 10.2.1 创建列表 10.2.2 只读集合 10.3 队列 10.4 栈 10.5 链表 10.6 有序表 10.7 字典 10.7.1 键的类型 10.7.2 字典示例 10.7.3 Lookup类 10.7.4 其他字典类 10.8 HashSet 10.9 位数组 10.9.1 BitArray 10.9.2 BitVector32 10.10 性能 10.11 小结 第11章 Language Integrated Query 11.1 LINQ概述 11.1.1 使用List的查询 11.1.2 扩展方法 11.1.3 λ表达式 11.1.4 LINQ查询 11.1.5 推迟查询的执行 11.2 标准的查询操作符 11.2.1 过滤 11.2.2 用索引来过滤 11.2.3 类型过滤 11.2.4 复合的from子句 11.2.5 排序 11.2.6 分组 11.2.7 对嵌套的对象分组 11.2.8 连接 11.2.9 设置操作 11.2.10 分区 11.2.11 合计操作符 11.2.12 转换 11.2.13 生成操作符 11.3 表达式树 11.4 LINQ提供程序 11.5 小结 第12章 内存管理和指针 12.1 后台内存管理 12.1.1 值数据类型 12.1.2 引用数据类型 12.1.3 垃圾收集 12.2 释放未托管的资源 12.2.1 析构函数 12.2.2 IDisposable接口 12.2.3 实现IDisposable接口和析构函数 12.3 不安全的代码 12.3.1 用指针直接访问内存 12.3.2 指针示例:PointerPlayaround 12.3.3 使用指针优化性能 12.4 小结 第13章 反射 13.1 定制特性 13.1.1 编写定制特性 13.1.2 定制特性示例:WhatsNewAttributes 13.2 反射 13.2.1 System.Type类 13.2.2 TypeView示例 13.2.3 Assembly类 13.2.4 完成WhatsNewAttributes示例 13.3 小结 第14章 错误和异常 14.1 异常类 14.2 捕获异常 14.2.1 执行多个catch块 14.2.2 在其他代码中捕获异常 14.2.3 System.Exception属性 14.2.4 没有处理异常时所发生的情况 14.2.5 嵌套的 try块 14.3 用户定义的异常类 14.3.1 捕获用户定义的异常 14.3.2 抛出用户定义的异常 14.3.3 定义异常类 14.4 小结 第Ⅱ部分 Visual Studio 第15章 Visual Studio 2008 15.1 使用Visual Studio 2008 15.1.1 创建项目 15.1.2 解决方案和项目 15.1.3 Windows应用程序代码 15.1.4 读取Visual Studio 6项目 15.1.5 项目的浏览和编码 15.1.6 生成项目 15.1.7 调试 15.2 修订功能 15.3 多目标 15.4 WPF、WCF、WF等 15.4.1 在Visual Studio中建立WPF应用程序 15.4.2 在Visual Studio中建立WF应用程序 15.5 小结 第16章 部署 16.1 部署的设计 16.2 部署选项 16.2.1 Xcopy实用工具 16.2.2 Copy Web工具 16.2.3 发布Web站点 16.2.4 部署项目 16.2.5 ClickOnce 16.3 部署的要求 16.4 部署.NET运行库 16.5 简单的部署 16.5.1 Xcopy部署 16.5.2 Xcopy和Web应用程序 16.5.3 Copy Web工具 16.5.4 发布Web站点 16.6 Installer项目 16.6.1 Windows Installer 16.6.2 创建安装程序 16.7 ClickOnce 16.7.1 ClickOnce操作 16.7.2 发布应用程序 16.7.3 ClickOnce设置 16.7.4 应用程序缓存 16.7.5 安全性 16.7.6 高级选项 16.8 小结 第Ⅲ部分 基类库 第17章 程序集 17.1 程序集的含义 17.1.1 程序集的特性 17.1.2 程序集的结构 17.1.3 程序集的清单 17.1.4 命名空间、程序集和组件 17.1.5 私有程序集和共享程序集 17.1.6 辅助程序集 17.1.7 查看程序集 17.2 构建程序集 17.2.1 创建模块和程序集 17.2.2 程序集的属性 17.3 动态加载和创建程序集 17.4 应用程序域 17.5 共享程序集 17.5.1 强名 17.5.2 使用强名获得完整性 17.5.3 全局程序集缓存 17.5.4 创建共享程序集 17.5.5 创建强名 17.5.6 安装共享程序集 17.5.7 使用共享程序集 17.5.8 程序集的延迟签名 17.5.9 引用 17.5.10 本机图像生成器 17.6 配置.NET应用程序 17.6.1 配置类别 17.6.2 为搜索程序集配置目录 17.7 版本问题 17.7.1 版本号 17.7.2 编程获取版本 17.7.3 应用程序配置文件 17.7.4 发布方的策略文件 17.7.5 运行库的版本 17.8 小结 第18章 跟踪和事件 18.1 跟踪 18.1.1 跟踪源 18.1.2 跟踪开关 18.1.3 跟踪监听器 18.1.4 过滤器 18.1.5 断言 18.2 事件日志 18.2.1 事件日志体系架构 18.2.2 事件日志类 18.2.3 创建事件源 18.2.4 写入事件日志 18.2.5 资源文件 18.3 性能监控 18.3.1 性能监控类 18.3.2 性能计数器的构建 18.3.3 添加PerformanceCounter组件 18.3.4 perfmon.exe 18.4 小结 第19章 线程和同步 19.1 概述 19.2 异步委托 19.2.1 投票 19.2.2 等待句柄 19.2.3 异步回调 19.3 Thread类 19.3.1 给线程传送数据 19.3.2 后台线程 19.3.3 线程的优先级 19.3.4 控制线程 19.4 线程池 19.5 线程问题 19.5.1 竞态条件 19.5.2 死锁 19.6 同步 19.6.1 lock语句和线程安全 19.6.2 Interlocked 19.6.3 Monitor类 19.6.4 等待句柄 19.6.5 Mutex类 19.6.6 Semaphore类 19.6.7 Events类 19.6.8 ReaderWriterLockSlim 19.7 Timer类 19.8 COM单元 19.9 基于事件的异步模式 19.9.1 BackgroundWorker类 19.9.2 激活取消功能 19.9.3 激活进度功能 19.9.4 创建基于事件的异步组件 19.10 小结 第20章 安全性 20.1 身份验证和授权 20.1.1 标识和Principal 20.1.2 角色 20.1.3 声明基于角色的安全性 20.1.4 客户应用程序服务 20.2 加密 20.2.1 签名 20.2.2 密钥的互换和安全传送 20.3 资源的访问控制 20.4 代码访问的安全性 20.4.1 权限 20.4.2 代码组 20.4.3 策略的级别:Machine、User和Enterprise 20.5 安全策略的管理 20.5.1 代码组和权限的管理 20.5.2 安全性的启用和禁用 20.5.3 代码组的创建 20.5.4 代码组的删除 20.5.5 代码组权限的更改 20.5.6 权限集的创建和应用 20.5.7 使用强名发布代码 20.5.8 使用证书发布代码 20.6 小结 第21章 本地化 21.1 System.Globalization命名空间 21.1.1 Unicode问题 21.1.2 文化和区域 21.1.3 使用文化 21.1.4 排序 21.2 资源 21.2.1 创建资源文件 21.2.2 资源文件生成器 21.2.3 ResourceWriter 21.2.4 使用资源文件 21.2.5 System.Resources命名空间 21.3 使用Visual Studio的Windows Forms本地化示例 21.3.1 编程修改文化 21.3.2 使用定制资源文件 21.3.3 资源的自动回退 21.3.4 外包翻译 21.4 用ASP NET本地化 21.5 用WPF本地化 21.5.1 WPF应用程序 21.5.2 .NET资源 21.5.3 用XAML本地化 21.6 定制的资源读取器 21.6.1 创建DatabaseResourceReader类 21.6.2 创建DatabaseResourceSet类 21.6.3 创建DatabaseResource-Manager类 21.6.4 DatabaseResourceReader的客户应用程序 21.7 创建定制文化 21.8 小结 第22章 事务处理 22.1 概述 22.1.1 事务处理阶段 22.1.2 ACID属性 22.2 数据库和实体类 22.3 传统的事务处理 22.3.1 ADO NET事务处理 22.3.2 System.EnterpriseServices 22.4 System.Transactions 22.4.1 可提交的事务处理 22.4.2 事务处理的升级 22.4.3 依赖的事务处理 22.4.4 环境事务处理 22.5 隔离级别 22.6 定制资源管理器 22.7 Windows Vista和Windows Server 2008 的事务处理 22.8 小结 第23章 Windows服务 23.1 Windows服务 23.2 Windows服务的体系结构 23.2.1 服务程序 23.2.2 服务控制程序 23.2.3 服务配置程序 23.3 System.ServiceProcess命名空间 23.4 创建Windows服务 23.4.1 使用套接字的类库 23.4.2 TcpClient示例 23.4.3 Windows服务项目 23.4.4 线程和服务 23.4.5 服务的安装 23.4.6 安装程序 23.5 服务的监视和控制 23.5.1 MMC计算机管理 23.5.2 net.exe 23.5.3 sc.exe 23.5.4 Visual Studio Server Explorer 23.5.5 ServiceController类 23.6 故障排除 23.6.1 交互式服务 23.6.2 事件日志 23.7 电源事件 23.8 小结 第24章 互操作性 24.1 .NET和COM 24.1.1 元数据 24.1.2 释放内存 24.1.3 接口 24.1.4 方法绑定 24.1.5 数据类型 24.1.6 注册 24.1.7 线程 24.1.8 错误处理 24.1.9 事件处理 24.2 编组 24.3 在.NET客户程序中使用COM组件 24.3.1 创建COM组件 24.3.2 创建Runtime Callable Wrapper 24.3.3 使用RCW 24.3.4 可交互操作的主程序集 24.3.5 线程问题 24.3.6 添加连接点 24.3.7 在Windows窗体中使用ActiveX控件 24.3.8 在ASP NET中使用COM对象 24.4 在COM客户程序中使用.NET组件 24.4.1 COM Callable Wrapper 24.4.2 创建.NET组件 24.4.3 创建类型库 24.4.4 COM互操作特性 24.4.5 COM注册 24.4.6 创建COM客户程序 24.4.7 添加连接点 24.4.8 用sink对象创建客户程序 24.4.9 在Internet Explorer中运行Windows窗体控件 24.5 平台调用 24.6 小结 第Ⅳ部分 数 据 第25章 文件和注册表操作 25.1 管理文件系统 25.1.1 表示文件和文件夹的.NET类 25.1.2 Path类 25.1.3 示例:文件浏览器 25.2 移动、复制和删除文件 25.2.1 FilePropertiesAndMovement示例 25.2.2 示例FilePropertiesAnd-Movement的代码 25.3 读写文件 25.3.1 读取文件 25.3.2 写入文件 25.3.3 流 25.3.4 缓存的流 25.3.5 使用FileStream类读写二进制文件 25.3.6 读写文本文件 25.4 读取驱动器信息 25.5 文件的安全性 25.5.1 从文件中读取ACL 25.5.2 从目录中读取ACL 25.5.3 添加和删除文件中的ACL项 25.6 读写注册表 25.6.1 注册表 25.6.2 .NET注册表类 25.6.3 SelfPlacingWindow示例 25.7 读写独立存储器 25.8 小结 第26章 .NET数据访问 26.1 ADO NET概述 26.1.1 命名空间 26.1.2 共享类 26.1.3 数据库特定的类 26.2 使用数据库连接 26.2.1 管理连接字符串 26.2.2 高效地使用连接 26.2.3 事务处理 26.3 命令 26.3.1 执行命令 26.3.2 调用存储过程 26.4 快速数据访问:数据读取器 26.5 管理数据和关系:DataSet类 26.5.1 数据表 26.5.2 数据列 26.5.3 数据关系 26.5.4 数据约束 26.6 XML模式:用XSD生成代码 26.7 填充数据集 26.7.1 用数据适配器来填充DataSet 26.7.2 从XML中给数据集填充数据 26.8 保存对数据集的修改 26.8.1 通过数据适配器进行更新 26.8.2 写入XML输出结果 26.9 使用ADO NET 26.9.1 分层开发 26.9.2 生成SQL Server的键 26.9.3 命名约定 26.10 小结 第27章 LINQ to SQL 27.1 LINQ to SQL和Visual Studio 2008 27.1.1 使用LINQ to SQL调用Products表——创建控制台应用程序 27.1.2 添加LINQ to SQL类 27.1.3 O/R设计器概述 27.1.4 创建Product对象 27.2 对象映射到LINQ对象上 27.2.1 DataContext对象 27.2.2 Table对象 27.3 不使用O/R设计器工作 27.3.1 创建自己的定制对象 27.3.2 用定制的对象和LINQ进行查询 27.3.3 用查询限制所调用的列 27.3.4 使用列名 27.3.5 创建自己的DataContext对象 27.4 定制对象和O/R设计器 27.5 查询数据库 27.5.1 使用查询表达式 27.5.2 查询表达式 27.5.3 使用表达式过滤 27.5.4 连接 27.5.5 组合数据项 27.6 存储过程 27.7 小结 第28章 处理XML 28.1 .NET支持的XML标准 28.2 System.Xml命名空间 28.3 使用System.Xml类 28.4 读写流格式的XML 28.4.1 使用 XmlReader类 28.4.2 使用XmlReader类进行验证 28.4.3 使用XmlWriter类 28.5 在.NET中使用DOM 28.6 使用XPathNavigator 28.6.1 System.Xml.XPath命名空间 28.6.2 System.Xml.Xsl命名空间 28.6.3 调试XSLT 28.7 XML和ADO NET 28.7.1 将ADO NET数据转换为XML文档 28.7.2 把XML文档转换为ADO NET数据 28.8 在XML中串行化对象 28.9 小结 第29章 LINQ to XML 29.1 LINQ to XML和.NET 3.5 29.1.1 创建XML文档的新对象 29.1.2 Visual Basic 2008开辟了另一条道路 29.1.3 命名空间和前缀 29.2 .NET Framework 3.5中的新XML对象 29.2.1 XDocument对象 29.2.2 XElement对象 29.2.3 XNamespace对象 29.2.4 XComment对象 29.2.5 XAttribute对象 29.3 使用LINQ查询XML文档 29.3.1 查询静态的XML文档 29.3.2 查询动态的XML文档 29.4 处理XML文档 29.4.1 读取XML文档 29.4.2 写入XML文档 29.5 使用LINQ to SQL和LINQto XML 29.5.1 建立LINQ to SQL组件 29.5.2 查询数据库,输出XML 29.6 小结 第30章 .NET编程和SQL Server 30.1 .NET运行库的主机 30.2 Microsoft.SqlServer.Server 30.3 用户定义的类型 30.3.1 创建UDT 30.3.2 使用UDT 30.3.3 在客户端代码中使用UDT 30.4 用户定义的合计函数 30.4.1 创建用户定义的合计函数 30.4.2 使用用户定义的合计函数 30.5 存储过程 30.5.1 创建存储过程 30.5.2 使用存储过程 30.6 用户定义的函数 30.6.1 创建用户定义的函数 30.6.2 使用用户定义的函数 30.7 触发器 30.7.1 创建触发器 30.7.2 使用触发器 30.8 XML数据类型 30.8.1 包含XML数据的表 30.8.2 读取XML值 30.8.3 数据的查询 30.8.4 XML数据修改语言(XML DML) 30.8.5 XML索引 30.8.6 强类型化的XML 30.9 小结 第Ⅴ部分 显示 第31章 Windows窗体 31.1 创建Windows窗体应用程序类层次结构 31.2 Control类 31.2.1 大小和位置 31.2.2 外观 31.2.3 用户交互操作 31.2.4 Windows功能 31.2.5 杂项功能 31.3 标准控件和组件 31.3.1 Button控件 31.3.2 CheckBox控件 31.3.3 RadioButton控件 31.3.4 ComboBox控件、ListBox控件和CheckedListBox控件 31.3.5 DateTimePicker控件 31.3.6 ErrorProvider组件 31.3.7 HelpProvider组件 31.3.8 ImageList组件 31.3.9 Label控件 31.3.10 ListView控件 31.3.11 PictureBox控件 31.3.12 ProgressBar控件 31.3.13 TextBox控件、RichTextBox控件与MaskedTextBox控件 31.3.14 Panel控件 31.3.15 FlowLayoutPanel和TableLayoutPanel控件 31.3.16 SplitContainer控件 31.3.17 TabControl控件和TabPages控件 31.3.18 ToolStrip控件 31.3.19 MenuStrip控件 31.3.20 ContextMenuStrip控件 31.3.21 ToolStripMenuItem控件 31.3.22 ToolStripManager类 31.3.23 ToolStripContainer控件 31.4 窗体 31.4.1 Form类 31.4.2 多文档界面 31.4.3 定制控件 31.5 小结 第32章 数据绑定 32.1 DataGridView控件 32.1.1 显示列表数据 32.1.2 数据源 32.2 DataGridView类的层次结构 32.3 数据绑定 32.3.1 简单的绑定 32.3.2 数据绑定对象 32.4 Visual Studio和数据访问 32.4.1 创建一个连接 32.4.2 选择数据 32.4.3 更新数据源 32.4.4 其他常见的要求 32.5 小结 第33章 使用GDI+绘图 33.1 理解绘图规则 33.1.1 GDI和GDI+ 33.1.2 绘制图形 33.1.3 使用OnPaint()绘制图形 33.1.4 使用剪切区域 33.2 测量坐标和区域 33.2.1 Point和PointF结构 33.2.2 Size和SizeF结构 33.2.3 Rectangle和RectangleF结构 33.2.4 Region 33.3 调试须知 33.4 绘制可滚动的窗口 33.5 世界、页面和设备坐标 33.6 颜色 33.6.1 红绿蓝(RGB)值 33.6.2 命名的颜色 33.6.3 图形显示模式和安全的调色板 33.6.4 安全调色板 33.7 画笔和钢笔 33.7.1 画笔 33.7.2 钢笔 33.8 绘制图形和线条 33.9 显示图像 33.10 处理图像时的问题 33.11 绘制文本 33.12 简单的文本示例 33.13 字体和字体系列 33.14 示例:枚举字体系列 33.15 编辑文本文档:CapsEditor示例 33.15.1 Invalidate()方法 33.15.2 计算项和文档的大小 33.15.3 OnPaint() 33.15.4 坐标转换 33.15.5 响应用户的输入 33.16 打印 33.17 小结 第34章 Windows Presentation Foundation 34.1 概述 34.1.1 XAML 34.1.2 设计人员和开发人员的合作 34.1.3 类层次结构 31.1.4 命名空间 34.2 形状 34.3 变换 34.4 笔刷 34.4.1 SolidColorBrush 34.4.2 LinearGradientBrush 34.4.3 RadialGradientBrush 34.4.4 DrawingBrush 34.4.5 ImageBrush 34.4.6 VisualBrush 34.5 控件 34.5.1 简单控件 34.5.2 内容控件 34.5.3 有标题的内容控件 34.5.4 项控件 34.5.5 带标题的项控件 34.6 布局 34.6.1 StackPanel 34.6.2 WrapPanel 34.6.3 Canvas 34.6.4 DockPanel 34.6.5 Grid 34.7 事件处理 34.8 样式、模板和资源 34.8.1 样式 34.8.2 资源 34.8.3 创建列表框的样式 34.9 小结 第35章 高级WPF 35.1 数据绑定 35.1.1 概述 35.1.2 用XAML绑定 35.1.3 简单对象的绑定 35.1.4 对象数据提供程序 35.1.5 列表绑定 35.1.6 绑定到XML上 35.1.7 绑定的验证 35.2 命令绑定 35.3 动画 35.3.1 时间线 35.3.2 触发器 35.3.3 故事板1 35.4 在WPF中添加3D特性 35.5 Windows窗体集成 35.5.1 Windows窗体中的WPF控件 35.5.2 WPF应用程序中的Windows窗体控件 35.6 WPF浏览器应用程序 35.7 小结 第36章 插件 36.1 System.AddIn体系结构 36.1.1 插件的问题 36.1.2 管道体系结构 36.1.3 发现 36.1.4 激活和隔离 36.1.5 合同 36.1.6 生存期 36.1.7 版本问题 36.2 插件示例 36.2.1 计算器合同 36.2.2 计算器插件视图 36.2.3 计算器插件适配器 36.2.4 计算器插件 36.2.5 计算器主机视图 36.2.6 计算机主机适配器 36.2.7 计算器主机 36.2.8 其他插件 36.3 小结 第37章 ASP NET页面 37.1 ASP NET概述 37.2 ASP NET Web窗体 37.2.1 ASP NET代码模型 37.2.2 ASP NET服务器控件 37.3 ADO NET和数据绑定 37.3.1 更新会议登记应用程序 37.3.2 数据绑定的更多内容 37.4 应用程序配置 37.5 小结 第38章 ASP NET开发 38.1 用户控件和定制控件 38.1.1 用户控件 38.1.2 PCSDemoSite中的用户控件 38.1.3 定制控件 38.2 Master页面 38.2.1 在Web页面中访问Master页面 38.2.2 嵌套的Master页面 38.2.3 PCSDemoSite中的Master页面 38.3 站点导航 38.4 安全性 38.4.1 使用安全向导添加Forms身份验证功能 38.4.2 实现登录系统 38.4.3 Web 登录服务器控件 38.4.4 保护目录 38.4.5 PCSDemoSite中的安全性 38.5 主题 38.5.1 把主题应用于页面 38.5.2 定义主题 38.5.3 PCSDemoSite中的主题 38.6 Web Parts 38.6.1 Web Parts应用程序组件 38.6.2 Web Parts示例 38.7 小结 第39章 ASP NET AJAX 39.1 Ajax的概念 39.2 ASP NET AJAX 39.2.1 核心功能 39.2.2 ASP NET AJAX Control Toolkit 39.3 使用ASP NET AJAX 39.3.1 ASP NET AJAX网站示例 39.3.2 支持ASP NET AJAX的网站配置 39.3.3 添加ASP NET AJAX功能 39.3.4 使用AJAX库 39.4 小结 第40章 Visual Studio Tools for Office 40.1 VSTO概述 40.1.1 项目类型 40.1.2 项目特性 40.2 VSTO基础 40.2.1 Office对象模型 40.2.2 VSTO命名空间 40.2.3 主机项和主机控件 40.2.4 基本的VSTO项目结构 40.2.5 Globals类 40.2.6 事件处理 40.3 建立VSTO解决方案 40.3.1 管理应用程序级插件 40.3.2 与应用程序和文档交互操作 40.3.3 UI的定制 40.4 示例应用程序 40.5 VBA交互操作性 40.6 小结 第Ⅵ部分 通信 第41章 访问Internet 41.1 WebClient类 41.1.1 下载文件 41.1.2 基本的Web客户示例 41.1.3 上传文件 41.2 WebRequest类和WebResponse类 41.3 把输出结果显示为HTML页面 41.3.1 在应用程序中进行简单的Web浏览 41.3.2 启动Internet Explorer实例 41.3.3 给应用程序提供更多的IE类型特性 41.3.4 使用WebBrowser控件打印 41.3.5 显示请求页面的代码 41.3.6 WebRequest和WebResponse的层次结构 41.4 实用工具类 41.4.1 URI 41.4.2 IP地址和DNS名称 41.5 较低层的协议 41.6 小结 第42章 Windows Communication Foundation 42.1 WCF概述 42.1.1 SOAP 42.1.2 WSDL 42.1.3 JSON 42.2 简单的服务和客户 42.2.1 服务合同 42.2.2 服务的实现 42.2.3 WCF服务主机和WCF测试客户机 42.2.4 定制服务主机 42.2.5 WCF客户程序 42.2.6 诊断 42.3 合同 42.3.1 数据合同 42.3.2 版本问题 42.3.3 服务合同 42.3.4 消息合同 42.4 服务的实现 42.5 绑定 42.6 主机 42.6.1 定制主机 42.6.2 WAS主机 42.7 客户程序 42.8 双向通信 42.9 小结 第43章 Windows Workflow Foundation 43.1 Hello World示例 43.2 活动 43.2.1 IfElseActivity 43.2.2 ParallelActivity 43.2.3 CallExternalMethodActivity 43.2.4 DelayActivity 41.2.5 ListenActivity 43.2.6 活动的执行模型 43.3 定制的活动 43.3.1 活动的有效性验证 43.3.2 主题和设计器 43.3.3 ActivityToolboxItem和图标 43.3.4 定制的复合活动 43.4 工作流 43.4.1 系列工作流 43.4.2 状态机工作流 43.4.3 给工作流传送参数 43.4.4 从工作流中返回结果 43.4.5 将参数绑定到活动上 43.5 工作流运行库 43.6 工作流服务 43.6.1 持续服务 43.6.2 跟踪服务 43.6.3 定制服务 43.7 与WCF集成 43.8 保存工作流 43.9 工作流设计器 43.10 小结 第44章 Enterprise Services 44.1 概述 44.1.1 Enterprise Services简史 44.1.2 使用Enterprise Services的场合 44.1.3 环境 44.1.4 自动的事务处理 44.1.5 分布式事务处理 44.1.6 对象池 44.1.7 基于角色的安全性 44.1.8 排队的组件 44.1.9 松散藕合的事件 44.2 创建简单的COM+应用程序 44.2.1 类ServicedComponent 44.2.2 标记程序集 44.2.3 程序集的属性 44.2.4 创建组件 44.3 部署 44.3.1 自动部署 44.3.2 手工部署 44.3.3 创建安装软件包 44.4 Component Services浏览器 44.5 客户应用程序 44.6 事务处理 44.6.1 事务处理的属性 44.6.2 事务处理的结果 44.7 示例应用程序 44.7.1 实体类 44.7.2 OrderControl组件 44.7.3 OrderData组件 44.7.4 OrderLineData组件 44.7.5 客户应用程序 44.8 集成WCF和Enterprise Services 44.8.1 WCF服务Façade 44.8.2 客户程序 44.9 小结 第45章 消息队列 45.1 概述 45.1.1 使用Message Queuing的场合 45.1.2 Message Queuing特性 45.2 Message Queuing产品 45.3 Message Queuing结构 45.3.1 消息 45.3.2 消息队列 45.4 Message Queuing管理工具 45.4.1 创建消息队列 45.4.2 消息队列属性 45.5 Message Queuing的编程实现 45.5.1 创建消息队列 45.5.2 查找队列 45.5.3 打开已知的队列 45.5.4 发送消息 45.5.5 接收消息 45.6 课程订单应用程序 45.6.1 课程订单类库 45.6.2 课程订单消息发送程序 45.6.3 发送优先级和可恢复的消息 45.6.4 课程订单消息接收程序 45.7 接收结果 45.7.1 确认队列 45.7.2 响应队列 45.8 事务队列 45.9 消息队列和WCF 45.9.1 带数据合同的实体类 45.9.2 WCF服务合同 45.9.3 WCF消息接收程序 45.9.4 WCF消息发送程序 45.10 消息队列的安装 45.11 小结 第46章 目录服务 46.1 Active Directory的体系结构 46.1.1 特性 46.1.2 Active Directory的概念 46.1.3 Active Directory数据的特性 46.1.4 模式 46.2 Active Directory的管理工具 46.2.1 Active Directory Users and Computers工具 46.2.2 ADSI Edit工具 46.3 Active Directory编程 46.3.1 System.DirectoryServices命名空间中的类 46.3.2 绑定 46.3.3 获取目录项 46.3.4 对象集合 46.3.5 缓存 46.3.6 创建新对象 46.3.7 更新目录项 46.3.8 访问内部的ADSI对象 46.3.9 在Active Directory中搜索 46.4 搜索用户对象 46.4.1 用户界面 46.4.2 获取模式命名环境 46.4.3 获取User类的属性名 46.4.4 搜索用户对象 46.5 账户管理 46.5.1 显示用户信息 46.5.2 创建用户 46.5.3 重置密码 46.5.4 创建组 46.5.5 在组中添加用户 46.5.6 查找用户 46.6 DSML 46.6.1 命名空间System.Directory-Services.Protocols中的类 46.6.2 用DSML搜索Active Directory对象 46.7 小结 第47章 对等网络 47.1 P2P概述 47.1.1 客户机-服务器体系结构 47.1.2 P2P体系结构 47.1.3 P2P体系结构的挑战 47.1.4 P2P术语 47.1.5 P2P解决方案 47.2 Microsoft Windows Peer-to-Peer Networking 47.2.1 Peer Name Resolution Protocol(PNRP) 47.2.2 People Near Me 47.3 建立P2P应用程序 47.3.1 System Net.PeerToPeer 47.3.2 System Net.PeerToPeer.Collaboration 47.4 小结 第48章 Syndication 48.1 System.ServiceModel.Syndication命名空间概述 48.2 Syndication阅读器 48.3 提供SyndicationFeed 48.4 小结 第Ⅶ部分 附录 附录A ADO NET Entity Framework 附录B C#、Visual Basic和C++/CLI 附录C Windows Vista和Windows Server 2008
95.0MB
C#高级编程(第6版).(清华出版.李铭译.黄静审校).part2
2016-07-13书名:《C#高级编程(第6版)》(清华大学出版社.李铭译.黄静审校) PDF格式扫描版,全书分为48章,共1557页。2008年10月出版。 (注:原名为:Professional C# 2008,原书无书签,为了方便阅读,本人制作了详细完整的书签) 因文件较大,全书压缩打包成5部分,这是第2部分。 内容简介 本书是C#经典名著!也是Wrox皮书中最畅销的品种之一,从第 1版开始就名满天下:其第3版被中华读书报、CSDN、《程序员》等机构评选为2005年最权威的十大IT图书之一。第6版面向C#2008和,NET 3.5,在全面展示,NET和C#新特性的同时继续完善原有的内容,是有一些C#基础知识的读者或者想迁移到C#的其他程序员全面掌握C#2008的首选教程。 本书适合程序开发人员,也可供大、中专院校师生阅读。 目 录 第Ⅰ部分 C# 语言 第1章 .NET体系结构 1.1 C#与.NET的关系 1.2 公共语言运行库 1.2.1 平台无关性 1.2.2 提高性能 1.2.3 语言的互操作性 1.3 中间语言 1.3.1 面向对象和接口的支持 1.3.2 相异值类型和引用类型 1.3.3 强数据类型 1.3.4 通过异常处理错误 1.3.5 特性的使用 1.4 程序集 1.4.1 私有程序集 1.4.2 共享程序集 1.4.3 反射 1.5 .NET Framework类 1.6 命名空间 1.7 用C#创建.NET应用程序 1.7.1 创建ASP NET应用程序 1.7.2 创建Windows窗体 1.7.3 使用Windows Presentation Foundation(WPF) 1.7.4 Windows控件 1.7.5 Windows服务 1.7.6 Windows Communication Foundation(WCF) 1.8 C#在.NET企业体系结构中的作用 1.9 小结 第2章 C#基础 2.1 引言 2.2 第一个C#程序 2.2.1 代码 2.2.2 编译并运行程序 2.2.3 详细介绍 2.3 变量 2.3.1 变量的初始化 2.3.2 类型推断 2.3.3 变量的作用域 2.3.4 常量 2.4 预定义数据类型 2.4.1 值类型和引用类型 2.4.2 CTS类型 2.4.3 预定义的值类型 2.4.4 预定义的引用类型 2.5 流控制 2.5.1 条件语句 2.5.2 循环 2.5.3 跳转语句 2.6 枚举 2.7 数组 2.8 命名空间 2.8.1 using语句 2.8.2 命名空间的别名 2.9 Main()方法 2.9.1 多个Main()方法 2.9.2 给Main()方法传送参数 2.10 有关编译C#文件的更多内容 2.11 控制台I/O 2.12 使用注释 2.12.1 源文件中的内部注释 2.12.2 XML文档说明 2.13 C#预处理器指令 2.13.1 #define和 #undef 2.13.2 #if, #elif, #else和#endif 2.13.3 #warning和 # error 2.13.4 #region和#endregion 2.13.5 #line 2.13.6 #pragma 2.14 C#编程规则 2.14.1 用于标识符的规则 2.14.2 用法约定 2.15 小结 第3章 对象和类型 3.1 类和结构 3.2 类成员 3.2.1 数据成员 3.2.2 函数成员 3.2.3 只读字段 3.3 匿名类型 3.4 结构 3.4.1 结构是值类型 3.4.2 结构和继承 3.4.3 结构的构造函数 3.5 部分类 3.6 静态类 3.7 Object类 3.7.1 System.Object方法 3.7.2 ToString()方法 3.8 扩展方法 3.9 小结 第4章 继承 4.1 继承的类型 4.1.1 实现继承和接口继承 4.1.2 多重继承 4.1.3 结构和类 4.2 实现继承 4.2.1 虚方法 4.2.2 隐藏方法 4.2.3 调用函数的基类版本 4.2.4 抽象类和抽象函数 4.2.5 密封类和密封方法 4.2.6 派生类的构造函数 4.3 修饰符 4.3.1 可见性修饰符 4.3.2 其他修饰符 4.4 接口 4.4.1 定义和实现接口 4.4.2 派生的接口 4.5 小结 第5章 数组 5.1 简单数组 5.1.1 数组的声明 5.1.2 数组的初始化 5.1.3 访问数组元素 5.1.4 使用引用类型 5.2 多维数组 5.3 锯齿数组 5.4 Array类 5.4.1 属性 5.4.2 创建数组 5.4.3 复制数组 5.4.4 排序 5.5 数组和集合接口 5.5.1 IEumerable接口 5.5.2 ICollection接口 5.5.3 IList接口 5.6 枚举 5.6.1 IEnumerator接口 5.6.2 foreach语句 5.6.3 yield语句 5.7 小结 第6章 运算符和类型强制转换 6.1 运算符 6.1.1 运算符的简化操作 6.1.2 条件运算符 6.1.3 checked和unchecked运算符 6.1.4 is运算符 6.1.5 as运算符 6.1.6 sizeof运算符 6.1.7 typeof运算符 6.1.8 可空类型和运算符 6.1.9 空接合运算符 6.1.10 运算符的优先级 6.2 类型的安全性 6.2.1 类型转换 6.2.2 装箱和拆箱 6.3 对象的相等比较 6.3.1 引用类型的相等比较 6.3.2 值类型的相等比较 6.4 运算符重载 6.4.1 运算符的工作方式 6.4.2 运算符重载的示例:Vector结构 6.5 用户定义的数据类型转换 6.5.1 执行用户定义的类型转换 6.5.2 多重数据类型转换 6.6 小结 第7章 委托和事件 7.1 委托 7.1.1 在C#中声明委托 7.1.2 在C#中使用委托 7.1.3 简单的委托示例 7.1.4 BubbleSorter示例 7.1.5 多播委托 7.1.6 匿名方法 7.1.7 表达式 7.1.8 协变和抗变 7.2 事件 7.2.1 从接收器的角度讨论事件 7.2.2 生成事件 7.3 小结 第8章 字符串和正则表达式 8.1 System.String类 8.1.1 创建字符串 8.1.2 StringBuilder成员 8.1.3 格式化字符串 8.2 正则表达式 8.2.1 正则表达式概述 8.2.2 RegularExpressionsPlayaround示例 8.2.3 显示结果 8.2.4 匹配、组合和捕获 8.3 小结 第9章 泛型 9.1 概述 9.1.1 性能 9.1.2 类型安全 9.1.3 二进制代码的重用 9.1.4 代码的扩展 9.1.5 命名约定 9.2 创建泛型类 9.3 泛型类的特性 9.3.1 默认值 9.3.2 约束 9.3.3 继承 9.3.4 静态成员 9.4 泛型接口 9.5 泛型方法 9.6 泛型委托 9.6.1 执行委托调用的方法 9.6.2 对Array类使用泛型委托 9.7 Framework的其他泛型类型 9.7.1 结构Nullable 9.7.2 EventHandler 9.7.3 ArraySegment 9.8 小结 第10章 集合 10.1 集合接口和类型 10.2 列表 10.2.1 创建列表 10.2.2 只读集合 10.3 队列 10.4 栈 10.5 链表 10.6 有序表 10.7 字典 10.7.1 键的类型 10.7.2 字典示例 10.7.3 Lookup类 10.7.4 其他字典类 10.8 HashSet 10.9 位数组 10.9.1 BitArray 10.9.2 BitVector32 10.10 性能 10.11 小结 第11章 Language Integrated Query 11.1 LINQ概述 11.1.1 使用List的查询 11.1.2 扩展方法 11.1.3 λ表达式 11.1.4 LINQ查询 11.1.5 推迟查询的执行 11.2 标准的查询操作符 11.2.1 过滤 11.2.2 用索引来过滤 11.2.3 类型过滤 11.2.4 复合的from子句 11.2.5 排序 11.2.6 分组 11.2.7 对嵌套的对象分组 11.2.8 连接 11.2.9 设置操作 11.2.10 分区 11.2.11 合计操作符 11.2.12 转换 11.2.13 生成操作符 11.3 表达式树 11.4 LINQ提供程序 11.5 小结 第12章 内存管理和指针 12.1 后台内存管理 12.1.1 值数据类型 12.1.2 引用数据类型 12.1.3 垃圾收集 12.2 释放未托管的资源 12.2.1 析构函数 12.2.2 IDisposable接口 12.2.3 实现IDisposable接口和析构函数 12.3 不安全的代码 12.3.1 用指针直接访问内存 12.3.2 指针示例:PointerPlayaround 12.3.3 使用指针优化性能 12.4 小结 第13章 反射 13.1 定制特性 13.1.1 编写定制特性 13.1.2 定制特性示例:WhatsNewAttributes 13.2 反射 13.2.1 System.Type类 13.2.2 TypeView示例 13.2.3 Assembly类 13.2.4 完成WhatsNewAttributes示例 13.3 小结 第14章 错误和异常 14.1 异常类 14.2 捕获异常 14.2.1 执行多个catch块 14.2.2 在其他代码中捕获异常 14.2.3 System.Exception属性 14.2.4 没有处理异常时所发生的情况 14.2.5 嵌套的 try块 14.3 用户定义的异常类 14.3.1 捕获用户定义的异常 14.3.2 抛出用户定义的异常 14.3.3 定义异常类 14.4 小结 第Ⅱ部分 Visual Studio 第15章 Visual Studio 2008 15.1 使用Visual Studio 2008 15.1.1 创建项目 15.1.2 解决方案和项目 15.1.3 Windows应用程序代码 15.1.4 读取Visual Studio 6项目 15.1.5 项目的浏览和编码 15.1.6 生成项目 15.1.7 调试 15.2 修订功能 15.3 多目标 15.4 WPF、WCF、WF等 15.4.1 在Visual Studio中建立WPF应用程序 15.4.2 在Visual Studio中建立WF应用程序 15.5 小结 第16章 部署 16.1 部署的设计 16.2 部署选项 16.2.1 Xcopy实用工具 16.2.2 Copy Web工具 16.2.3 发布Web站点 16.2.4 部署项目 16.2.5 ClickOnce 16.3 部署的要求 16.4 部署.NET运行库 16.5 简单的部署 16.5.1 Xcopy部署 16.5.2 Xcopy和Web应用程序 16.5.3 Copy Web工具 16.5.4 发布Web站点 16.6 Installer项目 16.6.1 Windows Installer 16.6.2 创建安装程序 16.7 ClickOnce 16.7.1 ClickOnce操作 16.7.2 发布应用程序 16.7.3 ClickOnce设置 16.7.4 应用程序缓存 16.7.5 安全性 16.7.6 高级选项 16.8 小结 第Ⅲ部分 基类库 第17章 程序集 17.1 程序集的含义 17.1.1 程序集的特性 17.1.2 程序集的结构 17.1.3 程序集的清单 17.1.4 命名空间、程序集和组件 17.1.5 私有程序集和共享程序集 17.1.6 辅助程序集 17.1.7 查看程序集 17.2 构建程序集 17.2.1 创建模块和程序集 17.2.2 程序集的属性 17.3 动态加载和创建程序集 17.4 应用程序域 17.5 共享程序集 17.5.1 强名 17.5.2 使用强名获得完整性 17.5.3 全局程序集缓存 17.5.4 创建共享程序集 17.5.5 创建强名 17.5.6 安装共享程序集 17.5.7 使用共享程序集 17.5.8 程序集的延迟签名 17.5.9 引用 17.5.10 本机图像生成器 17.6 配置.NET应用程序 17.6.1 配置类别 17.6.2 为搜索程序集配置目录 17.7 版本问题 17.7.1 版本号 17.7.2 编程获取版本 17.7.3 应用程序配置文件 17.7.4 发布方的策略文件 17.7.5 运行库的版本 17.8 小结 第18章 跟踪和事件 18.1 跟踪 18.1.1 跟踪源 18.1.2 跟踪开关 18.1.3 跟踪监听器 18.1.4 过滤器 18.1.5 断言 18.2 事件日志 18.2.1 事件日志体系架构 18.2.2 事件日志类 18.2.3 创建事件源 18.2.4 写入事件日志 18.2.5 资源文件 18.3 性能监控 18.3.1 性能监控类 18.3.2 性能计数器的构建 18.3.3 添加PerformanceCounter组件 18.3.4 perfmon.exe 18.4 小结 第19章 线程和同步 19.1 概述 19.2 异步委托 19.2.1 投票 19.2.2 等待句柄 19.2.3 异步回调 19.3 Thread类 19.3.1 给线程传送数据 19.3.2 后台线程 19.3.3 线程的优先级 19.3.4 控制线程 19.4 线程池 19.5 线程问题 19.5.1 竞态条件 19.5.2 死锁 19.6 同步 19.6.1 lock语句和线程安全 19.6.2 Interlocked 19.6.3 Monitor类 19.6.4 等待句柄 19.6.5 Mutex类 19.6.6 Semaphore类 19.6.7 Events类 19.6.8 ReaderWriterLockSlim 19.7 Timer类 19.8 COM单元 19.9 基于事件的异步模式 19.9.1 BackgroundWorker类 19.9.2 激活取消功能 19.9.3 激活进度功能 19.9.4 创建基于事件的异步组件 19.10 小结 第20章 安全性 20.1 身份验证和授权 20.1.1 标识和Principal 20.1.2 角色 20.1.3 声明基于角色的安全性 20.1.4 客户应用程序服务 20.2 加密 20.2.1 签名 20.2.2 密钥的互换和安全传送 20.3 资源的访问控制 20.4 代码访问的安全性 20.4.1 权限 20.4.2 代码组 20.4.3 策略的级别:Machine、User和Enterprise 20.5 安全策略的管理 20.5.1 代码组和权限的管理 20.5.2 安全性的启用和禁用 20.5.3 代码组的创建 20.5.4 代码组的删除 20.5.5 代码组权限的更改 20.5.6 权限集的创建和应用 20.5.7 使用强名发布代码 20.5.8 使用证书发布代码 20.6 小结 第21章 本地化 21.1 System.Globalization命名空间 21.1.1 Unicode问题 21.1.2 文化和区域 21.1.3 使用文化 21.1.4 排序 21.2 资源 21.2.1 创建资源文件 21.2.2 资源文件生成器 21.2.3 ResourceWriter 21.2.4 使用资源文件 21.2.5 System.Resources命名空间 21.3 使用Visual Studio的Windows Forms本地化示例 21.3.1 编程修改文化 21.3.2 使用定制资源文件 21.3.3 资源的自动回退 21.3.4 外包翻译 21.4 用ASP NET本地化 21.5 用WPF本地化 21.5.1 WPF应用程序 21.5.2 .NET资源 21.5.3 用XAML本地化 21.6 定制的资源读取器 21.6.1 创建DatabaseResourceReader类 21.6.2 创建DatabaseResourceSet类 21.6.3 创建DatabaseResource-Manager类 21.6.4 DatabaseResourceReader的客户应用程序 21.7 创建定制文化 21.8 小结 第22章 事务处理 22.1 概述 22.1.1 事务处理阶段 22.1.2 ACID属性 22.2 数据库和实体类 22.3 传统的事务处理 22.3.1 ADO NET事务处理 22.3.2 System.EnterpriseServices 22.4 System.Transactions 22.4.1 可提交的事务处理 22.4.2 事务处理的升级 22.4.3 依赖的事务处理 22.4.4 环境事务处理 22.5 隔离级别 22.6 定制资源管理器 22.7 Windows Vista和Windows Server 2008 的事务处理 22.8 小结 第23章 Windows服务 23.1 Windows服务 23.2 Windows服务的体系结构 23.2.1 服务程序 23.2.2 服务控制程序 23.2.3 服务配置程序 23.3 System.ServiceProcess命名空间 23.4 创建Windows服务 23.4.1 使用套接字的类库 23.4.2 TcpClient示例 23.4.3 Windows服务项目 23.4.4 线程和服务 23.4.5 服务的安装 23.4.6 安装程序 23.5 服务的监视和控制 23.5.1 MMC计算机管理 23.5.2 net.exe 23.5.3 sc.exe 23.5.4 Visual Studio Server Explorer 23.5.5 ServiceController类 23.6 故障排除 23.6.1 交互式服务 23.6.2 事件日志 23.7 电源事件 23.8 小结 第24章 互操作性 24.1 .NET和COM 24.1.1 元数据 24.1.2 释放内存 24.1.3 接口 24.1.4 方法绑定 24.1.5 数据类型 24.1.6 注册 24.1.7 线程 24.1.8 错误处理 24.1.9 事件处理 24.2 编组 24.3 在.NET客户程序中使用COM组件 24.3.1 创建COM组件 24.3.2 创建Runtime Callable Wrapper 24.3.3 使用RCW 24.3.4 可交互操作的主程序集 24.3.5 线程问题 24.3.6 添加连接点 24.3.7 在Windows窗体中使用ActiveX控件 24.3.8 在ASP NET中使用COM对象 24.4 在COM客户程序中使用.NET组件 24.4.1 COM Callable Wrapper 24.4.2 创建.NET组件 24.4.3 创建类型库 24.4.4 COM互操作特性 24.4.5 COM注册 24.4.6 创建COM客户程序 24.4.7 添加连接点 24.4.8 用sink对象创建客户程序 24.4.9 在Internet Explorer中运行Windows窗体控件 24.5 平台调用 24.6 小结 第Ⅳ部分 数 据 第25章 文件和注册表操作 25.1 管理文件系统 25.1.1 表示文件和文件夹的.NET类 25.1.2 Path类 25.1.3 示例:文件浏览器 25.2 移动、复制和删除文件 25.2.1 FilePropertiesAndMovement示例 25.2.2 示例FilePropertiesAnd-Movement的代码 25.3 读写文件 25.3.1 读取文件 25.3.2 写入文件 25.3.3 流 25.3.4 缓存的流 25.3.5 使用FileStream类读写二进制文件 25.3.6 读写文本文件 25.4 读取驱动器信息 25.5 文件的安全性 25.5.1 从文件中读取ACL 25.5.2 从目录中读取ACL 25.5.3 添加和删除文件中的ACL项 25.6 读写注册表 25.6.1 注册表 25.6.2 .NET注册表类 25.6.3 SelfPlacingWindow示例 25.7 读写独立存储器 25.8 小结 第26章 .NET数据访问 26.1 ADO NET概述 26.1.1 命名空间 26.1.2 共享类 26.1.3 数据库特定的类 26.2 使用数据库连接 26.2.1 管理连接字符串 26.2.2 高效地使用连接 26.2.3 事务处理 26.3 命令 26.3.1 执行命令 26.3.2 调用存储过程 26.4 快速数据访问:数据读取器 26.5 管理数据和关系:DataSet类 26.5.1 数据表 26.5.2 数据列 26.5.3 数据关系 26.5.4 数据约束 26.6 XML模式:用XSD生成代码 26.7 填充数据集 26.7.1 用数据适配器来填充DataSet 26.7.2 从XML中给数据集填充数据 26.8 保存对数据集的修改 26.8.1 通过数据适配器进行更新 26.8.2 写入XML输出结果 26.9 使用ADO NET 26.9.1 分层开发 26.9.2 生成SQL Server的键 26.9.3 命名约定 26.10 小结 第27章 LINQ to SQL 27.1 LINQ to SQL和Visual Studio 2008 27.1.1 使用LINQ to SQL调用Products表——创建控制台应用程序 27.1.2 添加LINQ to SQL类 27.1.3 O/R设计器概述 27.1.4 创建Product对象 27.2 对象映射到LINQ对象上 27.2.1 DataContext对象 27.2.2 Table对象 27.3 不使用O/R设计器工作 27.3.1 创建自己的定制对象 27.3.2 用定制的对象和LINQ进行查询 27.3.3 用查询限制所调用的列 27.3.4 使用列名 27.3.5 创建自己的DataContext对象 27.4 定制对象和O/R设计器 27.5 查询数据库 27.5.1 使用查询表达式 27.5.2 查询表达式 27.5.3 使用表达式过滤 27.5.4 连接 27.5.5 组合数据项 27.6 存储过程 27.7 小结 第28章 处理XML 28.1 .NET支持的XML标准 28.2 System.Xml命名空间 28.3 使用System.Xml类 28.4 读写流格式的XML 28.4.1 使用 XmlReader类 28.4.2 使用XmlReader类进行验证 28.4.3 使用XmlWriter类 28.5 在.NET中使用DOM 28.6 使用XPathNavigator 28.6.1 System.Xml.XPath命名空间 28.6.2 System.Xml.Xsl命名空间 28.6.3 调试XSLT 28.7 XML和ADO NET 28.7.1 将ADO NET数据转换为XML文档 28.7.2 把XML文档转换为ADO NET数据 28.8 在XML中串行化对象 28.9 小结 第29章 LINQ to XML 29.1 LINQ to XML和.NET 3.5 29.1.1 创建XML文档的新对象 29.1.2 Visual Basic 2008开辟了另一条道路 29.1.3 命名空间和前缀 29.2 .NET Framework 3.5中的新XML对象 29.2.1 XDocument对象 29.2.2 XElement对象 29.2.3 XNamespace对象 29.2.4 XComment对象 29.2.5 XAttribute对象 29.3 使用LINQ查询XML文档 29.3.1 查询静态的XML文档 29.3.2 查询动态的XML文档 29.4 处理XML文档 29.4.1 读取XML文档 29.4.2 写入XML文档 29.5 使用LINQ to SQL和LINQto XML 29.5.1 建立LINQ to SQL组件 29.5.2 查询数据库,输出XML 29.6 小结 第30章 .NET编程和SQL Server 30.1 .NET运行库的主机 30.2 Microsoft.SqlServer.Server 30.3 用户定义的类型 30.3.1 创建UDT 30.3.2 使用UDT 30.3.3 在客户端代码中使用UDT 30.4 用户定义的合计函数 30.4.1 创建用户定义的合计函数 30.4.2 使用用户定义的合计函数 30.5 存储过程 30.5.1 创建存储过程 30.5.2 使用存储过程 30.6 用户定义的函数 30.6.1 创建用户定义的函数 30.6.2 使用用户定义的函数 30.7 触发器 30.7.1 创建触发器 30.7.2 使用触发器 30.8 XML数据类型 30.8.1 包含XML数据的表 30.8.2 读取XML值 30.8.3 数据的查询 30.8.4 XML数据修改语言(XML DML) 30.8.5 XML索引 30.8.6 强类型化的XML 30.9 小结 第Ⅴ部分 显示 第31章 Windows窗体 31.1 创建Windows窗体应用程序类层次结构 31.2 Control类 31.2.1 大小和位置 31.2.2 外观 31.2.3 用户交互操作 31.2.4 Windows功能 31.2.5 杂项功能 31.3 标准控件和组件 31.3.1 Button控件 31.3.2 CheckBox控件 31.3.3 RadioButton控件 31.3.4 ComboBox控件、ListBox控件和CheckedListBox控件 31.3.5 DateTimePicker控件 31.3.6 ErrorProvider组件 31.3.7 HelpProvider组件 31.3.8 ImageList组件 31.3.9 Label控件 31.3.10 ListView控件 31.3.11 PictureBox控件 31.3.12 ProgressBar控件 31.3.13 TextBox控件、RichTextBox控件与MaskedTextBox控件 31.3.14 Panel控件 31.3.15 FlowLayoutPanel和TableLayoutPanel控件 31.3.16 SplitContainer控件 31.3.17 TabControl控件和TabPages控件 31.3.18 ToolStrip控件 31.3.19 MenuStrip控件 31.3.20 ContextMenuStrip控件 31.3.21 ToolStripMenuItem控件 31.3.22 ToolStripManager类 31.3.23 ToolStripContainer控件 31.4 窗体 31.4.1 Form类 31.4.2 多文档界面 31.4.3 定制控件 31.5 小结 第32章 数据绑定 32.1 DataGridView控件 32.1.1 显示列表数据 32.1.2 数据源 32.2 DataGridView类的层次结构 32.3 数据绑定 32.3.1 简单的绑定 32.3.2 数据绑定对象 32.4 Visual Studio和数据访问 32.4.1 创建一个连接 32.4.2 选择数据 32.4.3 更新数据源 32.4.4 其他常见的要求 32.5 小结 第33章 使用GDI+绘图 33.1 理解绘图规则 33.1.1 GDI和GDI+ 33.1.2 绘制图形 33.1.3 使用OnPaint()绘制图形 33.1.4 使用剪切区域 33.2 测量坐标和区域 33.2.1 Point和PointF结构 33.2.2 Size和SizeF结构 33.2.3 Rectangle和RectangleF结构 33.2.4 Region 33.3 调试须知 33.4 绘制可滚动的窗口 33.5 世界、页面和设备坐标 33.6 颜色 33.6.1 红绿蓝(RGB)值 33.6.2 命名的颜色 33.6.3 图形显示模式和安全的调色板 33.6.4 安全调色板 33.7 画笔和钢笔 33.7.1 画笔 33.7.2 钢笔 33.8 绘制图形和线条 33.9 显示图像 33.10 处理图像时的问题 33.11 绘制文本 33.12 简单的文本示例 33.13 字体和字体系列 33.14 示例:枚举字体系列 33.15 编辑文本文档:CapsEditor示例 33.15.1 Invalidate()方法 33.15.2 计算项和文档的大小 33.15.3 OnPaint() 33.15.4 坐标转换 33.15.5 响应用户的输入 33.16 打印 33.17 小结 第34章 Windows Presentation Foundation 34.1 概述 34.1.1 XAML 34.1.2 设计人员和开发人员的合作 34.1.3 类层次结构 31.1.4 命名空间 34.2 形状 34.3 变换 34.4 笔刷 34.4.1 SolidColorBrush 34.4.2 LinearGradientBrush 34.4.3 RadialGradientBrush 34.4.4 DrawingBrush 34.4.5 ImageBrush 34.4.6 VisualBrush 34.5 控件 34.5.1 简单控件 34.5.2 内容控件 34.5.3 有标题的内容控件 34.5.4 项控件 34.5.5 带标题的项控件 34.6 布局 34.6.1 StackPanel 34.6.2 WrapPanel 34.6.3 Canvas 34.6.4 DockPanel 34.6.5 Grid 34.7 事件处理 34.8 样式、模板和资源 34.8.1 样式 34.8.2 资源 34.8.3 创建列表框的样式 34.9 小结 第35章 高级WPF 35.1 数据绑定 35.1.1 概述 35.1.2 用XAML绑定 35.1.3 简单对象的绑定 35.1.4 对象数据提供程序 35.1.5 列表绑定 35.1.6 绑定到XML上 35.1.7 绑定的验证 35.2 命令绑定 35.3 动画 35.3.1 时间线 35.3.2 触发器 35.3.3 故事板1 35.4 在WPF中添加3D特性 35.5 Windows窗体集成 35.5.1 Windows窗体中的WPF控件 35.5.2 WPF应用程序中的Windows窗体控件 35.6 WPF浏览器应用程序 35.7 小结 第36章 插件 36.1 System.AddIn体系结构 36.1.1 插件的问题 36.1.2 管道体系结构 36.1.3 发现 36.1.4 激活和隔离 36.1.5 合同 36.1.6 生存期 36.1.7 版本问题 36.2 插件示例 36.2.1 计算器合同 36.2.2 计算器插件视图 36.2.3 计算器插件适配器 36.2.4 计算器插件 36.2.5 计算器主机视图 36.2.6 计算机主机适配器 36.2.7 计算器主机 36.2.8 其他插件 36.3 小结 第37章 ASP NET页面 37.1 ASP NET概述 37.2 ASP NET Web窗体 37.2.1 ASP NET代码模型 37.2.2 ASP NET服务器控件 37.3 ADO NET和数据绑定 37.3.1 更新会议登记应用程序 37.3.2 数据绑定的更多内容 37.4 应用程序配置 37.5 小结 第38章 ASP NET开发 38.1 用户控件和定制控件 38.1.1 用户控件 38.1.2 PCSDemoSite中的用户控件 38.1.3 定制控件 38.2 Master页面 38.2.1 在Web页面中访问Master页面 38.2.2 嵌套的Master页面 38.2.3 PCSDemoSite中的Master页面 38.3 站点导航 38.4 安全性 38.4.1 使用安全向导添加Forms身份验证功能 38.4.2 实现登录系统 38.4.3 Web 登录服务器控件 38.4.4 保护目录 38.4.5 PCSDemoSite中的安全性 38.5 主题 38.5.1 把主题应用于页面 38.5.2 定义主题 38.5.3 PCSDemoSite中的主题 38.6 Web Parts 38.6.1 Web Parts应用程序组件 38.6.2 Web Parts示例 38.7 小结 第39章 ASP NET AJAX 39.1 Ajax的概念 39.2 ASP NET AJAX 39.2.1 核心功能 39.2.2 ASP NET AJAX Control Toolkit 39.3 使用ASP NET AJAX 39.3.1 ASP NET AJAX网站示例 39.3.2 支持ASP NET AJAX的网站配置 39.3.3 添加ASP NET AJAX功能 39.3.4 使用AJAX库 39.4 小结 第40章 Visual Studio Tools for Office 40.1 VSTO概述 40.1.1 项目类型 40.1.2 项目特性 40.2 VSTO基础 40.2.1 Office对象模型 40.2.2 VSTO命名空间 40.2.3 主机项和主机控件 40.2.4 基本的VSTO项目结构 40.2.5 Globals类 40.2.6 事件处理 40.3 建立VSTO解决方案 40.3.1 管理应用程序级插件 40.3.2 与应用程序和文档交互操作 40.3.3 UI的定制 40.4 示例应用程序 40.5 VBA交互操作性 40.6 小结 第Ⅵ部分 通信 第41章 访问Internet 41.1 WebClient类 41.1.1 下载文件 41.1.2 基本的Web客户示例 41.1.3 上传文件 41.2 WebRequest类和WebResponse类 41.3 把输出结果显示为HTML页面 41.3.1 在应用程序中进行简单的Web浏览 41.3.2 启动Internet Explorer实例 41.3.3 给应用程序提供更多的IE类型特性 41.3.4 使用WebBrowser控件打印 41.3.5 显示请求页面的代码 41.3.6 WebRequest和WebResponse的层次结构 41.4 实用工具类 41.4.1 URI 41.4.2 IP地址和DNS名称 41.5 较低层的协议 41.6 小结 第42章 Windows Communication Foundation 42.1 WCF概述 42.1.1 SOAP 42.1.2 WSDL 42.1.3 JSON 42.2 简单的服务和客户 42.2.1 服务合同 42.2.2 服务的实现 42.2.3 WCF服务主机和WCF测试客户机 42.2.4 定制服务主机 42.2.5 WCF客户程序 42.2.6 诊断 42.3 合同 42.3.1 数据合同 42.3.2 版本问题 42.3.3 服务合同 42.3.4 消息合同 42.4 服务的实现 42.5 绑定 42.6 主机 42.6.1 定制主机 42.6.2 WAS主机 42.7 客户程序 42.8 双向通信 42.9 小结 第43章 Windows Workflow Foundation 43.1 Hello World示例 43.2 活动 43.2.1 IfElseActivity 43.2.2 ParallelActivity 43.2.3 CallExternalMethodActivity 43.2.4 DelayActivity 41.2.5 ListenActivity 43.2.6 活动的执行模型 43.3 定制的活动 43.3.1 活动的有效性验证 43.3.2 主题和设计器 43.3.3 ActivityToolboxItem和图标 43.3.4 定制的复合活动 43.4 工作流 43.4.1 系列工作流 43.4.2 状态机工作流 43.4.3 给工作流传送参数 43.4.4 从工作流中返回结果 43.4.5 将参数绑定到活动上 43.5 工作流运行库 43.6 工作流服务 43.6.1 持续服务 43.6.2 跟踪服务 43.6.3 定制服务 43.7 与WCF集成 43.8 保存工作流 43.9 工作流设计器 43.10 小结 第44章 Enterprise Services 44.1 概述 44.1.1 Enterprise Services简史 44.1.2 使用Enterprise Services的场合 44.1.3 环境 44.1.4 自动的事务处理 44.1.5 分布式事务处理 44.1.6 对象池 44.1.7 基于角色的安全性 44.1.8 排队的组件 44.1.9 松散藕合的事件 44.2 创建简单的COM+应用程序 44.2.1 类ServicedComponent 44.2.2 标记程序集 44.2.3 程序集的属性 44.2.4 创建组件 44.3 部署 44.3.1 自动部署 44.3.2 手工部署 44.3.3 创建安装软件包 44.4 Component Services浏览器 44.5 客户应用程序 44.6 事务处理 44.6.1 事务处理的属性 44.6.2 事务处理的结果 44.7 示例应用程序 44.7.1 实体类 44.7.2 OrderControl组件 44.7.3 OrderData组件 44.7.4 OrderLineData组件 44.7.5 客户应用程序 44.8 集成WCF和Enterprise Services 44.8.1 WCF服务Façade 44.8.2 客户程序 44.9 小结 第45章 消息队列 45.1 概述 45.1.1 使用Message Queuing的场合 45.1.2 Message Queuing特性 45.2 Message Queuing产品 45.3 Message Queuing结构 45.3.1 消息 45.3.2 消息队列 45.4 Message Queuing管理工具 45.4.1 创建消息队列 45.4.2 消息队列属性 45.5 Message Queuing的编程实现 45.5.1 创建消息队列 45.5.2 查找队列 45.5.3 打开已知的队列 45.5.4 发送消息 45.5.5 接收消息 45.6 课程订单应用程序 45.6.1 课程订单类库 45.6.2 课程订单消息发送程序 45.6.3 发送优先级和可恢复的消息 45.6.4 课程订单消息接收程序 45.7 接收结果 45.7.1 确认队列 45.7.2 响应队列 45.8 事务队列 45.9 消息队列和WCF 45.9.1 带数据合同的实体类 45.9.2 WCF服务合同 45.9.3 WCF消息接收程序 45.9.4 WCF消息发送程序 45.10 消息队列的安装 45.11 小结 第46章 目录服务 46.1 Active Directory的体系结构 46.1.1 特性 46.1.2 Active Directory的概念 46.1.3 Active Directory数据的特性 46.1.4 模式 46.2 Active Directory的管理工具 46.2.1 Active Directory Users and Computers工具 46.2.2 ADSI Edit工具 46.3 Active Directory编程 46.3.1 System.DirectoryServices命名空间中的类 46.3.2 绑定 46.3.3 获取目录项 46.3.4 对象集合 46.3.5 缓存 46.3.6 创建新对象 46.3.7 更新目录项 46.3.8 访问内部的ADSI对象 46.3.9 在Active Directory中搜索 46.4 搜索用户对象 46.4.1 用户界面 46.4.2 获取模式命名环境 46.4.3 获取User类的属性名 46.4.4 搜索用户对象 46.5 账户管理 46.5.1 显示用户信息 46.5.2 创建用户 46.5.3 重置密码 46.5.4 创建组 46.5.5 在组中添加用户 46.5.6 查找用户 46.6 DSML 46.6.1 命名空间System.Directory-Services.Protocols中的类 46.6.2 用DSML搜索Active Directory对象 46.7 小结 第47章 对等网络 47.1 P2P概述 47.1.1 客户机-服务器体系结构 47.1.2 P2P体系结构 47.1.3 P2P体系结构的挑战 47.1.4 P2P术语 47.1.5 P2P解决方案 47.2 Microsoft Windows Peer-to-Peer Networking 47.2.1 Peer Name Resolution Protocol(PNRP) 47.2.2 People Near Me 47.3 建立P2P应用程序 47.3.1 System Net.PeerToPeer 47.3.2 System Net.PeerToPeer.Collaboration 47.4 小结 第48章 Syndication 48.1 System.ServiceModel.Syndication命名空间概述 48.2 Syndication阅读器 48.3 提供SyndicationFeed 48.4 小结 第Ⅶ部分 附录 附录A ADO NET Entity Framework 附录B C#、Visual Basic和C++/CLI 附录C Windows Vista和Windows Server 2008
95.0MB
C#高级编程(第6版).(清华出版.李铭译.黄静审校).part1
2016-07-13书名:《C#高级编程(第6版)》(清华大学出版社.李铭译.黄静审校) PDF格式扫描版,全书分为48章,共1557页。2008年10月出版。 (注:原名为:Professional C# 2008,原书无书签,为了方便阅读,本人制作了详细完整的书签) 因文件较大,全书压缩打包成5部分,这是第1部分。 内容简介 本书是C#经典名著!也是Wrox皮书中最畅销的品种之一,从第 1版开始就名满天下:其第3版被中华读书报、CSDN、《程序员》等机构评选为2005年最权威的十大IT图书之一。第6版面向C#2008和,NET 3.5,在全面展示,NET和C#新特性的同时继续完善原有的内容,是有一些C#基础知识的读者或者想迁移到C#的其他程序员全面掌握C#2008的首选教程。 本书适合程序开发人员,也可供大、中专院校师生阅读。 目 录 第Ⅰ部分 C# 语言 第1章 .NET体系结构 1.1 C#与.NET的关系 1.2 公共语言运行库 1.2.1 平台无关性 1.2.2 提高性能 1.2.3 语言的互操作性 1.3 中间语言 1.3.1 面向对象和接口的支持 1.3.2 相异值类型和引用类型 1.3.3 强数据类型 1.3.4 通过异常处理错误 1.3.5 特性的使用 1.4 程序集 1.4.1 私有程序集 1.4.2 共享程序集 1.4.3 反射 1.5 .NET Framework类 1.6 命名空间 1.7 用C#创建.NET应用程序 1.7.1 创建ASP NET应用程序 1.7.2 创建Windows窗体 1.7.3 使用Windows Presentation Foundation(WPF) 1.7.4 Windows控件 1.7.5 Windows服务 1.7.6 Windows Communication Foundation(WCF) 1.8 C#在.NET企业体系结构中的作用 1.9 小结 第2章 C#基础 2.1 引言 2.2 第一个C#程序 2.2.1 代码 2.2.2 编译并运行程序 2.2.3 详细介绍 2.3 变量 2.3.1 变量的初始化 2.3.2 类型推断 2.3.3 变量的作用域 2.3.4 常量 2.4 预定义数据类型 2.4.1 值类型和引用类型 2.4.2 CTS类型 2.4.3 预定义的值类型 2.4.4 预定义的引用类型 2.5 流控制 2.5.1 条件语句 2.5.2 循环 2.5.3 跳转语句 2.6 枚举 2.7 数组 2.8 命名空间 2.8.1 using语句 2.8.2 命名空间的别名 2.9 Main()方法 2.9.1 多个Main()方法 2.9.2 给Main()方法传送参数 2.10 有关编译C#文件的更多内容 2.11 控制台I/O 2.12 使用注释 2.12.1 源文件中的内部注释 2.12.2 XML文档说明 2.13 C#预处理器指令 2.13.1 #define和 #undef 2.13.2 #if, #elif, #else和#endif 2.13.3 #warning和 # error 2.13.4 #region和#endregion 2.13.5 #line 2.13.6 #pragma 2.14 C#编程规则 2.14.1 用于标识符的规则 2.14.2 用法约定 2.15 小结 第3章 对象和类型 3.1 类和结构 3.2 类成员 3.2.1 数据成员 3.2.2 函数成员 3.2.3 只读字段 3.3 匿名类型 3.4 结构 3.4.1 结构是值类型 3.4.2 结构和继承 3.4.3 结构的构造函数 3.5 部分类 3.6 静态类 3.7 Object类 3.7.1 System.Object方法 3.7.2 ToString()方法 3.8 扩展方法 3.9 小结 第4章 继承 4.1 继承的类型 4.1.1 实现继承和接口继承 4.1.2 多重继承 4.1.3 结构和类 4.2 实现继承 4.2.1 虚方法 4.2.2 隐藏方法 4.2.3 调用函数的基类版本 4.2.4 抽象类和抽象函数 4.2.5 密封类和密封方法 4.2.6 派生类的构造函数 4.3 修饰符 4.3.1 可见性修饰符 4.3.2 其他修饰符 4.4 接口 4.4.1 定义和实现接口 4.4.2 派生的接口 4.5 小结 第5章 数组 5.1 简单数组 5.1.1 数组的声明 5.1.2 数组的初始化 5.1.3 访问数组元素 5.1.4 使用引用类型 5.2 多维数组 5.3 锯齿数组 5.4 Array类 5.4.1 属性 5.4.2 创建数组 5.4.3 复制数组 5.4.4 排序 5.5 数组和集合接口 5.5.1 IEumerable接口
95.0MB
C#高级编程(第6版).(清华出版.李铭译.黄静审校).part4
2016-07-13书名:《C#高级编程(第6版)》(清华大学出版社.李铭译.黄静审校) PDF格式扫描版,全书分为48章,共1557页。2008年10月出版。 (注:原名为:Professional C# 2008,原书无书签,为了方便阅读,本人制作了详细完整的书签) 因文件较大,全书压缩打包成5部分,这是第4部分。 内容简介 本书是C#经典名著!也是Wrox皮书中最畅销的品种之一,从第 1版开始就名满天下:其第3版被中华读书报、CSDN、《程序员》等机构评选为2005年最权威的十大IT图书之一。第6版面向C#2008和,NET 3.5,在全面展示,NET和C#新特性的同时继续完善原有的内容,是有一些C#基础知识的读者或者想迁移到C#的其他程序员全面掌握C#2008的首选教程。 本书适合程序开发人员,也可供大、中专院校师生阅读。 目 录 第Ⅰ部分 C# 语言 第1章 .NET体系结构 1.1 C#与.NET的关系 1.2 公共语言运行库 1.2.1 平台无关性 1.2.2 提高性能 1.2.3 语言的互操作性 1.3 中间语言 1.3.1 面向对象和接口的支持 1.3.2 相异值类型和引用类型 1.3.3 强数据类型 1.3.4 通过异常处理错误 1.3.5 特性的使用 1.4 程序集 1.4.1 私有程序集 1.4.2 共享程序集 1.4.3 反射 1.5 .NET Framework类 1.6 命名空间 1.7 用C#创建.NET应用程序 1.7.1 创建ASP NET应用程序 1.7.2 创建Windows窗体 1.7.3 使用Windows Presentation Foundation(WPF) 1.7.4 Windows控件 1.7.5 Windows服务 1.7.6 Windows Communication Foundation(WCF) 1.8 C#在.NET企业体系结构中的作用 1.9 小结 第2章 C#基础 2.1 引言 2.2 第一个C#程序 2.2.1 代码 2.2.2 编译并运行程序 2.2.3 详细介绍 2.3 变量 2.3.1 变量的初始化 2.3.2 类型推断 2.3.3 变量的作用域 2.3.4 常量 2.4 预定义数据类型 2.4.1 值类型和引用类型 2.4.2 CTS类型 2.4.3 预定义的值类型 2.4.4 预定义的引用类型 2.5 流控制 2.5.1 条件语句 2.5.2 循环 2.5.3 跳转语句 2.6 枚举 2.7 数组 2.8 命名空间 2.8.1 using语句 2.8.2 命名空间的别名 2.9 Main()方法 2.9.1 多个Main()方法 2.9.2 给Main()方法传送参数 2.10 有关编译C#文件的更多内容 2.11 控制台I/O 2.12 使用注释 2.12.1 源文件中的内部注释 2.12.2 XML文档说明 2.13 C#预处理器指令 2.13.1 #define和 #undef 2.13.2 #if, #elif, #else和#endif 2.13.3 #warning和 # error 2.13.4 #region和#endregion 2.13.5 #line 2.13.6 #pragma 2.14 C#编程规则 2.14.1 用于标识符的规则 2.14.2 用法约定 2.15 小结 第3章 对象和类型 3.1 类和结构 3.2 类成员 3.2.1 数据成员 3.2.2 函数成员 3.2.3 只读字段 3.3 匿名类型 3.4 结构 3.4.1 结构是值类型 3.4.2 结构和继承 3.4.3 结构的构造函数 3.5 部分类 3.6 静态类 3.7 Object类 3.7.1 System.Object方法 3.7.2 ToString()方法 3.8 扩展方法 3.9 小结 第4章 继承 4.1 继承的类型 4.1.1 实现继承和接口继承 4.1.2 多重继承 4.1.3 结构和类 4.2 实现继承 4.2.1 虚方法 4.2.2 隐藏方法 4.2.3 调用函数的基类版本 4.2.4 抽象类和抽象函数 4.2.5 密封类和密封方法 4.2.6 派生类的构造函数 4.3 修饰符 4.3.1 可见性修饰符 4.3.2 其他修饰符 4.4 接口 4.4.1 定义和实现接口 4.4.2 派生的接口 4.5 小结 第5章 数组 5.1 简单数组 5.1.1 数组的声明 5.1.2 数组的初始化 5.1.3 访问数组元素 5.1.4 使用引用类型 5.2 多维数组 5.3 锯齿数组 5.4 Array类 5.4.1 属性 5.4.2 创建数组 5.4.3 复制数组 5.4.4 排序 5.5 数组和集合接口 5.5.1 IEumerable接口 5.5.2 ICollection接口 5.5.3 IList接口 5.6 枚举 5.6.1 IEnumerator接口 5.6.2 foreach语句 5.6.3 yield语句 5.7 小结 第6章 运算符和类型强制转换 6.1 运算符 6.1.1 运算符的简化操作 6.1.2 条件运算符 6.1.3 checked和unchecked运算符 6.1.4 is运算符 6.1.5 as运算符 6.1.6 sizeof运算符 6.1.7 typeof运算符 6.1.8 可空类型和运算符 6.1.9 空接合运算符 6.1.10 运算符的优先级 6.2 类型的安全性 6.2.1 类型转换 6.2.2 装箱和拆箱 6.3 对象的相等比较 6.3.1 引用类型的相等比较 6.3.2 值类型的相等比较 6.4 运算符重载 6.4.1 运算符的工作方式 6.4.2 运算符重载的示例:Vector结构 6.5 用户定义的数据类型转换 6.5.1 执行用户定义的类型转换 6.5.2 多重数据类型转换 6.6 小结 第7章 委托和事件 7.1 委托 7.1.1 在C#中声明委托 7.1.2 在C#中使用委托 7.1.3 简单的委托示例 7.1.4 BubbleSorter示例 7.1.5 多播委托 7.1.6 匿名方法 7.1.7 表达式 7.1.8 协变和抗变 7.2 事件 7.2.1 从接收器的角度讨论事件 7.2.2 生成事件 7.3 小结 第8章 字符串和正则表达式 8.1 System.String类 8.1.1 创建字符串 8.1.2 StringBuilder成员 8.1.3 格式化字符串 8.2 正则表达式 8.2.1 正则表达式概述 8.2.2 RegularExpressionsPlayaround示例 8.2.3 显示结果 8.2.4 匹配、组合和捕获 8.3 小结 第9章 泛型 9.1 概述 9.1.1 性能 9.1.2 类型安全 9.1.3 二进制代码的重用 9.1.4 代码的扩展 9.1.5 命名约定 9.2 创建泛型类 9.3 泛型类的特性 9.3.1 默认值 9.3.2 约束 9.3.3 继承 9.3.4 静态成员 9.4 泛型接口 9.5 泛型方法 9.6 泛型委托 9.6.1 执行委托调用的方法 9.6.2 对Array类使用泛型委托 9.7 Framework的其他泛型类型 9.7.1 结构Nullable 9.7.2 EventHandler 9.7.3 ArraySegment 9.8 小结 第10章 集合 10.1 集合接口和类型 10.2 列表 10.2.1 创建列表 10.2.2 只读集合 10.3 队列 10.4 栈 10.5 链表 10.6 有序表 10.7 字典 10.7.1 键的类型 10.7.2 字典示例 10.7.3 Lookup类 10.7.4 其他字典类 10.8 HashSet 10.9 位数组 10.9.1 BitArray 10.9.2 BitVector32 10.10 性能 10.11 小结 第11章 Language Integrated Query 11.1 LINQ概述 11.1.1 使用List的查询 11.1.2 扩展方法 11.1.3 λ表达式 11.1.4 LINQ查询 11.1.5 推迟查询的执行 11.2 标准的查询操作符 11.2.1 过滤 11.2.2 用索引来过滤 11.2.3 类型过滤 11.2.4 复合的from子句 11.2.5 排序 11.2.6 分组 11.2.7 对嵌套的对象分组 11.2.8 连接 11.2.9 设置操作 11.2.10 分区 11.2.11 合计操作符 11.2.12 转换 11.2.13 生成操作符 11.3 表达式树 11.4 LINQ提供程序 11.5 小结 第12章 内存管理和指针 12.1 后台内存管理 12.1.1 值数据类型 12.1.2 引用数据类型 12.1.3 垃圾收集 12.2 释放未托管的资源 12.2.1 析构函数 12.2.2 IDisposable接口 12.2.3 实现IDisposable接口和析构函数 12.3 不安全的代码 12.3.1 用指针直接访问内存 12.3.2 指针示例:PointerPlayaround 12.3.3 使用指针优化性能 12.4 小结 第13章 反射 13.1 定制特性 13.1.1 编写定制特性 13.1.2 定制特性示例:WhatsNewAttributes 13.2 反射 13.2.1 System.Type类 13.2.2 TypeView示例 13.2.3 Assembly类 13.2.4 完成WhatsNewAttributes示例 13.3 小结 第14章 错误和异常 14.1 异常类 14.2 捕获异常 14.2.1 执行多个catch块 14.2.2 在其他代码中捕获异常 14.2.3 System.Exception属性 14.2.4 没有处理异常时所发生的情况 14.2.5 嵌套的 try块 14.3 用户定义的异常类 14.3.1 捕获用户定义的异常 14.3.2 抛出用户定义的异常 14.3.3 定义异常类 14.4 小结 第Ⅱ部分 Visual Studio 第15章 Visual Studio 2008 15.1 使用Visual Studio 2008 15.1.1 创建项目 15.1.2 解决方案和项目 15.1.3 Windows应用程序代码 15.1.4 读取Visual Studio 6项目 15.1.5 项目的浏览和编码 15.1.6 生成项目 15.1.7 调试 15.2 修订功能 15.3 多目标 15.4 WPF、WCF、WF等 15.4.1 在Visual Studio中建立WPF应用程序 15.4.2 在Visual Studio中建立WF应用程序 15.5 小结 第16章 部署 16.1 部署的设计 16.2 部署选项 16.2.1 Xcopy实用工具 16.2.2 Copy Web工具 16.2.3 发布Web站点 16.2.4 部署项目 16.2.5 ClickOnce 16.3 部署的要求 16.4 部署.NET运行库 16.5 简单的部署 16.5.1 Xcopy部署 16.5.2 Xcopy和Web应用程序 16.5.3 Copy Web工具 16.5.4 发布Web站点 16.6 Installer项目 16.6.1 Windows Installer 16.6.2 创建安装程序 16.7 ClickOnce 16.7.1 ClickOnce操作 16.7.2 发布应用程序 16.7.3 ClickOnce设置 16.7.4 应用程序缓存 16.7.5 安全性 16.7.6 高级选项 16.8 小结 第Ⅲ部分 基类库 第17章 程序集 17.1 程序集的含义 17.1.1 程序集的特性 17.1.2 程序集的结构 17.1.3 程序集的清单 17.1.4 命名空间、程序集和组件 17.1.5 私有程序集和共享程序集 17.1.6 辅助程序集 17.1.7 查看程序集 17.2 构建程序集 17.2.1 创建模块和程序集 17.2.2 程序集的属性 17.3 动态加载和创建程序集 17.4 应用程序域 17.5 共享程序集 17.5.1 强名 17.5.2 使用强名获得完整性 17.5.3 全局程序集缓存 17.5.4 创建共享程序集 17.5.5 创建强名 17.5.6 安装共享程序集 17.5.7 使用共享程序集 17.5.8 程序集的延迟签名 17.5.9 引用 17.5.10 本机图像生成器 17.6 配置.NET应用程序 17.6.1 配置类别 17.6.2 为搜索程序集配置目录 17.7 版本问题 17.7.1 版本号 17.7.2 编程获取版本 17.7.3 应用程序配置文件 17.7.4 发布方的策略文件 17.7.5 运行库的版本 17.8 小结 第18章 跟踪和事件 18.1 跟踪 18.1.1 跟踪源 18.1.2 跟踪开关 18.1.3 跟踪监听器 18.1.4 过滤器 18.1.5 断言 18.2 事件日志 18.2.1 事件日志体系架构 18.2.2 事件日志类 18.2.3 创建事件源 18.2.4 写入事件日志 18.2.5 资源文件 18.3 性能监控 18.3.1 性能监控类 18.3.2 性能计数器的构建 18.3.3 添加PerformanceCounter组件 18.3.4 perfmon.exe 18.4 小结 第19章 线程和同步 19.1 概述 19.2 异步委托 19.2.1 投票 19.2.2 等待句柄 19.2.3 异步回调 19.3 Thread类 19.3.1 给线程传送数据 19.3.2 后台线程 19.3.3 线程的优先级 19.3.4 控制线程 19.4 线程池 19.5 线程问题 19.5.1 竞态条件 19.5.2 死锁 19.6 同步 19.6.1 lock语句和线程安全 19.6.2 Interlocked 19.6.3 Monitor类 19.6.4 等待句柄 19.6.5 Mutex类 19.6.6 Semaphore类 19.6.7 Events类 19.6.8 ReaderWriterLockSlim 19.7 Timer类 19.8 COM单元 19.9 基于事件的异步模式 19.9.1 BackgroundWorker类 19.9.2 激活取消功能 19.9.3 激活进度功能 19.9.4 创建基于事件的异步组件 19.10 小结 第20章 安全性 20.1 身份验证和授权 20.1.1 标识和Principal 20.1.2 角色 20.1.3 声明基于角色的安全性 20.1.4 客户应用程序服务 20.2 加密 20.2.1 签名 20.2.2 密钥的互换和安全传送 20.3 资源的访问控制 20.4 代码访问的安全性 20.4.1 权限 20.4.2 代码组 20.4.3 策略的级别:Machine、User和Enterprise 20.5 安全策略的管理 20.5.1 代码组和权限的管理 20.5.2 安全性的启用和禁用 20.5.3 代码组的创建 20.5.4 代码组的删除 20.5.5 代码组权限的更改 20.5.6 权限集的创建和应用 20.5.7 使用强名发布代码 20.5.8 使用证书发布代码 20.6 小结 第21章 本地化 21.1 System.Globalization命名空间 21.1.1 Unicode问题 21.1.2 文化和区域 21.1.3 使用文化 21.1.4 排序 21.2 资源 21.2.1 创建资源文件 21.2.2 资源文件生成器 21.2.3 ResourceWriter 21.2.4 使用资源文件 21.2.5 System.Resources命名空间 21.3 使用Visual Studio的Windows Forms本地化示例 21.3.1 编程修改文化 21.3.2 使用定制资源文件 21.3.3 资源的自动回退 21.3.4 外包翻译 21.4 用ASP NET本地化 21.5 用WPF本地化 21.5.1 WPF应用程序 21.5.2 .NET资源 21.5.3 用XAML本地化 21.6 定制的资源读取器 21.6.1 创建DatabaseResourceReader类 21.6.2 创建DatabaseResourceSet类 21.6.3 创建DatabaseResource-Manager类 21.6.4 DatabaseResourceReader的客户应用程序 21.7 创建定制文化 21.8 小结 第22章 事务处理 22.1 概述 22.1.1 事务处理阶段 22.1.2 ACID属性 22.2 数据库和实体类 22.3 传统的事务处理 22.3.1 ADO NET事务处理 22.3.2 System.EnterpriseServices 22.4 System.Transactions 22.4.1 可提交的事务处理 22.4.2 事务处理的升级 22.4.3 依赖的事务处理 22.4.4 环境事务处理 22.5 隔离级别 22.6 定制资源管理器 22.7 Windows Vista和Windows Server 2008 的事务处理 22.8 小结 第23章 Windows服务 23.1 Windows服务 23.2 Windows服务的体系结构 23.2.1 服务程序 23.2.2 服务控制程序 23.2.3 服务配置程序 23.3 System.ServiceProcess命名空间 23.4 创建Windows服务 23.4.1 使用套接字的类库 23.4.2 TcpClient示例 23.4.3 Windows服务项目 23.4.4 线程和服务 23.4.5 服务的安装 23.4.6 安装程序 23.5 服务的监视和控制 23.5.1 MMC计算机管理 23.5.2 net.exe 23.5.3 sc.exe 23.5.4 Visual Studio Server Explorer 23.5.5 ServiceController类 23.6 故障排除 23.6.1 交互式服务 23.6.2 事件日志 23.7 电源事件 23.8 小结 第24章 互操作性 24.1 .NET和COM 24.1.1 元数据 24.1.2 释放内存 24.1.3 接口 24.1.4 方法绑定 24.1.5 数据类型 24.1.6 注册 24.1.7 线程 24.1.8 错误处理 24.1.9 事件处理 24.2 编组 24.3 在.NET客户程序中使用COM组件 24.3.1 创建COM组件 24.3.2 创建Runtime Callable Wrapper 24.3.3 使用RCW 24.3.4 可交互操作的主程序集 24.3.5 线程问题 24.3.6 添加连接点 24.3.7 在Windows窗体中使用ActiveX控件 24.3.8 在ASP NET中使用COM对象 24.4 在COM客户程序中使用.NET组件 24.4.1 COM Callable Wrapper 24.4.2 创建.NET组件 24.4.3 创建类型库 24.4.4 COM互操作特性 24.4.5 COM注册 24.4.6 创建COM客户程序 24.4.7 添加连接点 24.4.8 用sink对象创建客户程序 24.4.9 在Internet Explorer中运行Windows窗体控件 24.5 平台调用 24.6 小结 第Ⅳ部分 数 据 第25章 文件和注册表操作 25.1 管理文件系统 25.1.1 表示文件和文件夹的.NET类 25.1.2 Path类 25.1.3 示例:文件浏览器 25.2 移动、复制和删除文件 25.2.1 FilePropertiesAndMovement示例 25.2.2 示例FilePropertiesAnd-Movement的代码 25.3 读写文件 25.3.1 读取文件 25.3.2 写入文件 25.3.3 流 25.3.4 缓存的流 25.3.5 使用FileStream类读写二进制文件 25.3.6 读写文本文件 25.4 读取驱动器信息 25.5 文件的安全性 25.5.1 从文件中读取ACL 25.5.2 从目录中读取ACL 25.5.3 添加和删除文件中的ACL项 25.6 读写注册表 25.6.1 注册表 25.6.2 .NET注册表类 25.6.3 SelfPlacingWindow示例 25.7 读写独立存储器 25.8 小结 第26章 .NET数据访问 26.1 ADO NET概述 26.1.1 命名空间 26.1.2 共享类 26.1.3 数据库特定的类 26.2 使用数据库连接 26.2.1 管理连接字符串 26.2.2 高效地使用连接 26.2.3 事务处理 26.3 命令 26.3.1 执行命令 26.3.2 调用存储过程 26.4 快速数据访问:数据读取器 26.5 管理数据和关系:DataSet类 26.5.1 数据表 26.5.2 数据列 26.5.3 数据关系 26.5.4 数据约束 26.6 XML模式:用XSD生成代码 26.7 填充数据集 26.7.1 用数据适配器来填充DataSet 26.7.2 从XML中给数据集填充数据 26.8 保存对数据集的修改 26.8.1 通过数据适配器进行更新 26.8.2 写入XML输出结果 26.9 使用ADO NET 26.9.1 分层开发 26.9.2 生成SQL Server的键 26.9.3 命名约定 26.10 小结 第27章 LINQ to SQL 27.1 LINQ to SQL和Visual Studio 2008 27.1.1 使用LINQ to SQL调用Products表——创建控制台应用程序 27.1.2 添加LINQ to SQL类 27.1.3 O/R设计器概述 27.1.4 创建Product对象 27.2 对象映射到LINQ对象上 27.2.1 DataContext对象 27.2.2 Table对象 27.3 不使用O/R设计器工作 27.3.1 创建自己的定制对象 27.3.2 用定制的对象和LINQ进行查询 27.3.3 用查询限制所调用的列 27.3.4 使用列名 27.3.5 创建自己的DataContext对象 27.4 定制对象和O/R设计器 27.5 查询数据库 27.5.1 使用查询表达式 27.5.2 查询表达式 27.5.3 使用表达式过滤 27.5.4 连接 27.5.5 组合数据项 27.6 存储过程 27.7 小结 第28章 处理XML 28.1 .NET支持的XML标准 28.2 System.Xml命名空间 28.3 使用System.Xml类 28.4 读写流格式的XML 28.4.1 使用 XmlReader类 28.4.2 使用XmlReader类进行验证 28.4.3 使用XmlWriter类 28.5 在.NET中使用DOM 28.6 使用XPathNavigator 28.6.1 System.Xml.XPath命名空间 28.6.2 System.Xml.Xsl命名空间 28.6.3 调试XSLT 28.7 XML和ADO NET 28.7.1 将ADO NET数据转换为XML文档 28.7.2 把XML文档转换为ADO NET数据 28.8 在XML中串行化对象 28.9 小结 第29章 LINQ to XML 29.1 LINQ to XML和.NET 3.5 29.1.1 创建XML文档的新对象 29.1.2 Visual Basic 2008开辟了另一条道路 29.1.3 命名空间和前缀 29.2 .NET Framework 3.5中的新XML对象 29.2.1 XDocument对象 29.2.2 XElement对象 29.2.3 XNamespace对象 29.2.4 XComment对象 29.2.5 XAttribute对象 29.3 使用LINQ查询XML文档 29.3.1 查询静态的XML文档 29.3.2 查询动态的XML文档 29.4 处理XML文档 29.4.1 读取XML文档 29.4.2 写入XML文档 29.5 使用LINQ to SQL和LINQto XML 29.5.1 建立LINQ to SQL组件 29.5.2 查询数据库,输出XML 29.6 小结 第30章 .NET编程和SQL Server 30.1 .NET运行库的主机 30.2 Microsoft.SqlServer.Server 30.3 用户定义的类型 30.3.1 创建UDT 30.3.2 使用UDT 30.3.3 在客户端代码中使用UDT 30.4 用户定义的合计函数 30.4.1 创建用户定义的合计函数 30.4.2 使用用户定义的合计函数 30.5 存储过程 30.5.1 创建存储过程 30.5.2 使用存储过程 30.6 用户定义的函数 30.6.1 创建用户定义的函数 30.6.2 使用用户定义的函数 30.7 触发器 30.7.1 创建触发器 30.7.2 使用触发器 30.8 XML数据类型 30.8.1 包含XML数据的表 30.8.2 读取XML值 30.8.3 数据的查询 30.8.4 XML数据修改语言(XML DML) 30.8.5 XML索引 30.8.6 强类型化的XML 30.9 小结 第Ⅴ部分 显示 第31章 Windows窗体 31.1 创建Windows窗体应用程序类层次结构 31.2 Control类 31.2.1 大小和位置 31.2.2 外观 31.2.3 用户交互操作 31.2.4 Windows功能 31.2.5 杂项功能 31.3 标准控件和组件 31.3.1 Button控件 31.3.2 CheckBox控件 31.3.3 RadioButton控件 31.3.4 ComboBox控件、ListBox控件和CheckedListBox控件 31.3.5 DateTimePicker控件 31.3.6 ErrorProvider组件 31.3.7 HelpProvider组件 31.3.8 ImageList组件 31.3.9 Label控件 31.3.10 ListView控件 31.3.11 PictureBox控件 31.3.12 ProgressBar控件 31.3.13 TextBox控件、RichTextBox控件与MaskedTextBox控件 31.3.14 Panel控件 31.3.15 FlowLayoutPanel和TableLayoutPanel控件 31.3.16 SplitContainer控件 31.3.17 TabControl控件和TabPages控件 31.3.18 ToolStrip控件 31.3.19 MenuStrip控件 31.3.20 ContextMenuStrip控件 31.3.21 ToolStripMenuItem控件 31.3.22 ToolStripManager类 31.3.23 ToolStripContainer控件 31.4 窗体 31.4.1 Form类 31.4.2 多文档界面 31.4.3 定制控件 31.5 小结 第32章 数据绑定 32.1 DataGridView控件 32.1.1 显示列表数据 32.1.2 数据源 32.2 DataGridView类的层次结构 32.3 数据绑定 32.3.1 简单的绑定 32.3.2 数据绑定对象 32.4 Visual Studio和数据访问 32.4.1 创建一个连接 32.4.2 选择数据 32.4.3 更新数据源 32.4.4 其他常见的要求 32.5 小结 第33章 使用GDI+绘图 33.1 理解绘图规则 33.1.1 GDI和GDI+ 33.1.2 绘制图形 33.1.3 使用OnPaint()绘制图形 33.1.4 使用剪切区域 33.2 测量坐标和区域 33.2.1 Point和PointF结构 33.2.2 Size和SizeF结构 33.2.3 Rectangle和RectangleF结构 33.2.4 Region 33.3 调试须知 33.4 绘制可滚动的窗口 33.5 世界、页面和设备坐标 33.6 颜色 33.6.1 红绿蓝(RGB)值 33.6.2 命名的颜色 33.6.3 图形显示模式和安全的调色板 33.6.4 安全调色板 33.7 画笔和钢笔 33.7.1 画笔 33.7.2 钢笔 33.8 绘制图形和线条 33.9 显示图像 33.10 处理图像时的问题 33.11 绘制文本 33.12 简单的文本示例 33.13 字体和字体系列 33.14 示例:枚举字体系列 33.15 编辑文本文档:CapsEditor示例 33.15.1 Invalidate()方法 33.15.2 计算项和文档的大小 33.15.3 OnPaint() 33.15.4 坐标转换 33.15.5 响应用户的输入 33.16 打印 33.17 小结 第34章 Windows Presentation Foundation 34.1 概述 34.1.1 XAML 34.1.2 设计人员和开发人员的合作 34.1.3 类层次结构 31.1.4 命名空间 34.2 形状 34.3 变换 34.4 笔刷 34.4.1 SolidColorBrush 34.4.2 LinearGradientBrush 34.4.3 RadialGradientBrush 34.4.4 DrawingBrush 34.4.5 ImageBrush 34.4.6 VisualBrush 34.5 控件 34.5.1 简单控件 34.5.2 内容控件 34.5.3 有标题的内容控件 34.5.4 项控件 34.5.5 带标题的项控件 34.6 布局 34.6.1 StackPanel 34.6.2 WrapPanel 34.6.3 Canvas 34.6.4 DockPanel 34.6.5 Grid 34.7 事件处理 34.8 样式、模板和资源 34.8.1 样式 34.8.2 资源 34.8.3 创建列表框的样式 34.9 小结 第35章 高级WPF 35.1 数据绑定 35.1.1 概述 35.1.2 用XAML绑定 35.1.3 简单对象的绑定 35.1.4 对象数据提供程序 35.1.5 列表绑定 35.1.6 绑定到XML上 35.1.7 绑定的验证 35.2 命令绑定 35.3 动画 35.3.1 时间线 35.3.2 触发器 35.3.3 故事板1 35.4 在WPF中添加3D特性 35.5 Windows窗体集成 35.5.1 Windows窗体中的WPF控件 35.5.2 WPF应用程序中的Windows窗体控件 35.6 WPF浏览器应用程序 35.7 小结 第36章 插件 36.1 System.AddIn体系结构 36.1.1 插件的问题 36.1.2 管道体系结构 36.1.3 发现 36.1.4 激活和隔离 36.1.5 合同 36.1.6 生存期 36.1.7 版本问题 36.2 插件示例 36.2.1 计算器合同 36.2.2 计算器插件视图 36.2.3 计算器插件适配器 36.2.4 计算器插件 36.2.5 计算器主机视图 36.2.6 计算机主机适配器 36.2.7 计算器主机 36.2.8 其他插件 36.3 小结 第37章 ASP NET页面 37.1 ASP NET概述 37.2 ASP NET Web窗体 37.2.1 ASP NET代码模型 37.2.2 ASP NET服务器控件 37.3 ADO NET和数据绑定 37.3.1 更新会议登记应用程序 37.3.2 数据绑定的更多内容 37.4 应用程序配置 37.5 小结 第38章 ASP NET开发 38.1 用户控件和定制控件 38.1.1 用户控件 38.1.2 PCSDemoSite中的用户控件 38.1.3 定制控件 38.2 Master页面 38.2.1 在Web页面中访问Master页面 38.2.2 嵌套的Master页面 38.2.3 PCSDemoSite中的Master页面 38.3 站点导航 38.4 安全性 38.4.1 使用安全向导添加Forms身份验证功能 38.4.2 实现登录系统 38.4.3 Web 登录服务器控件 38.4.4 保护目录 38.4.5 PCSDemoSite中的安全性 38.5 主题 38.5.1 把主题应用于页面 38.5.2 定义主题 38.5.3 PCSDemoSite中的主题 38.6 Web Parts 38.6.1 Web Parts应用程序组件 38.6.2 Web Parts示例 38.7 小结 第39章 ASP NET AJAX 39.1 Ajax的概念 39.2 ASP NET AJAX 39.2.1 核心功能 39.2.2 ASP NET AJAX Control Toolkit 39.3 使用ASP NET AJAX 39.3.1 ASP NET AJAX网站示例 39.3.2 支持ASP NET AJAX的网站配置 39.3.3 添加ASP NET AJAX功能 39.3.4 使用AJAX库 39.4 小结 第40章 Visual Studio Tools for Office 40.1 VSTO概述 40.1.1 项目类型 40.1.2 项目特性 40.2 VSTO基础 40.2.1 Office对象模型 40.2.2 VSTO命名空间 40.2.3 主机项和主机控件 40.2.4 基本的VSTO项目结构 40.2.5 Globals类 40.2.6 事件处理 40.3 建立VSTO解决方案 40.3.1 管理应用程序级插件 40.3.2 与应用程序和文档交互操作 40.3.3 UI的定制 40.4 示例应用程序 40.5 VBA交互操作性 40.6 小结 第Ⅵ部分 通信 第41章 访问Internet 41.1 WebClient类 41.1.1 下载文件 41.1.2 基本的Web客户示例 41.1.3 上传文件 41.2 WebRequest类和WebResponse类 41.3 把输出结果显示为HTML页面 41.3.1 在应用程序中进行简单的Web浏览 41.3.2 启动Internet Explorer实例 41.3.3 给应用程序提供更多的IE类型特性 41.3.4 使用WebBrowser控件打印 41.3.5 显示请求页面的代码 41.3.6 WebRequest和WebResponse的层次结构 41.4 实用工具类 41.4.1 URI 41.4.2 IP地址和DNS名称 41.5 较低层的协议 41.6 小结 第42章 Windows Communication Foundation 42.1 WCF概述 42.1.1 SOAP 42.1.2 WSDL 42.1.3 JSON 42.2 简单的服务和客户 42.2.1 服务合同 42.2.2 服务的实现 42.2.3 WCF服务主机和WCF测试客户机 42.2.4 定制服务主机 42.2.5 WCF客户程序 42.2.6 诊断 42.3 合同 42.3.1 数据合同 42.3.2 版本问题 42.3.3 服务合同 42.3.4 消息合同 42.4 服务的实现 42.5 绑定 42.6 主机 42.6.1 定制主机 42.6.2 WAS主机 42.7 客户程序 42.8 双向通信 42.9 小结 第43章 Windows Workflow Foundation 43.1 Hello World示例 43.2 活动 43.2.1 IfElseActivity 43.2.2 ParallelActivity 43.2.3 CallExternalMethodActivity 43.2.4 DelayActivity 41.2.5 ListenActivity 43.2.6 活动的执行模型 43.3 定制的活动 43.3.1 活动的有效性验证 43.3.2 主题和设计器 43.3.3 ActivityToolboxItem和图标 43.3.4 定制的复合活动 43.4 工作流 43.4.1 系列工作流 43.4.2 状态机工作流 43.4.3 给工作流传送参数 43.4.4 从工作流中返回结果 43.4.5 将参数绑定到活动上 43.5 工作流运行库 43.6 工作流服务 43.6.1 持续服务 43.6.2 跟踪服务 43.6.3 定制服务 43.7 与WCF集成 43.8 保存工作流 43.9 工作流设计器 43.10 小结 第44章 Enterprise Services 44.1 概述 44.1.1 Enterprise Services简史 44.1.2 使用Enterprise Services的场合 44.1.3 环境 44.1.4 自动的事务处理 44.1.5 分布式事务处理 44.1.6 对象池 44.1.7 基于角色的安全性 44.1.8 排队的组件 44.1.9 松散藕合的事件 44.2 创建简单的COM+应用程序 44.2.1 类ServicedComponent 44.2.2 标记程序集 44.2.3 程序集的属性 44.2.4 创建组件 44.3 部署 44.3.1 自动部署 44.3.2 手工部署 44.3.3 创建安装软件包 44.4 Component Services浏览器 44.5 客户应用程序 44.6 事务处理 44.6.1 事务处理的属性 44.6.2 事务处理的结果 44.7 示例应用程序 44.7.1 实体类 44.7.2 OrderControl组件 44.7.3 OrderData组件 44.7.4 OrderLineData组件 44.7.5 客户应用程序 44.8 集成WCF和Enterprise Services 44.8.1 WCF服务Façade 44.8.2 客户程序 44.9 小结 第45章 消息队列 45.1 概述 45.1.1 使用Message Queuing的场合 45.1.2 Message Queuing特性 45.2 Message Queuing产品 45.3 Message Queuing结构 45.3.1 消息 45.3.2 消息队列 45.4 Message Queuing管理工具 45.4.1 创建消息队列 45.4.2 消息队列属性 45.5 Message Queuing的编程实现 45.5.1 创建消息队列 45.5.2 查找队列 45.5.3 打开已知的队列 45.5.4 发送消息 45.5.5 接收消息 45.6 课程订单应用程序 45.6.1 课程订单类库 45.6.2 课程订单消息发送程序 45.6.3 发送优先级和可恢复的消息 45.6.4 课程订单消息接收程序 45.7 接收结果 45.7.1 确认队列 45.7.2 响应队列 45.8 事务队列 45.9 消息队列和WCF 45.9.1 带数据合同的实体类 45.9.2 WCF服务合同 45.9.3 WCF消息接收程序 45.9.4 WCF消息发送程序 45.10 消息队列的安装 45.11 小结 第46章 目录服务 46.1 Active Directory的体系结构 46.1.1 特性 46.1.2 Active Directory的概念 46.1.3 Active Directory数据的特性 46.1.4 模式 46.2 Active Directory的管理工具 46.2.1 Active Directory Users and Computers工具 46.2.2 ADSI Edit工具 46.3 Active Directory编程 46.3.1 System.DirectoryServices命名空间中的类 46.3.2 绑定 46.3.3 获取目录项 46.3.4 对象集合 46.3.5 缓存 46.3.6 创建新对象 46.3.7 更新目录项 46.3.8 访问内部的ADSI对象 46.3.9 在Active Directory中搜索 46.4 搜索用户对象 46.4.1 用户界面 46.4.2 获取模式命名环境 46.4.3 获取User类的属性名 46.4.4 搜索用户对象 46.5 账户管理 46.5.1 显示用户信息 46.5.2 创建用户 46.5.3 重置密码 46.5.4 创建组 46.5.5 在组中添加用户 46.5.6 查找用户 46.6 DSML 46.6.1 命名空间System.Directory-Services.Protocols中的类 46.6.2 用DSML搜索Active Directory对象 46.7 小结 第47章 对等网络 47.1 P2P概述 47.1.1 客户机-服务器体系结构 47.1.2 P2P体系结构 47.1.3 P2P体系结构的挑战 47.1.4 P2P术语 47.1.5 P2P解决方案 47.2 Microsoft Windows Peer-to-Peer Networking 47.2.1 Peer Name Resolution Protocol(PNRP) 47.2.2 People Near Me 47.3 建立P2P应用程序 47.3.1 System Net.PeerToPeer 47.3.2 System Net.PeerToPeer.Collaboration 47.4 小结 第48章 Syndication 48.1 System.ServiceModel.Syndication命名空间概述 48.2 Syndication阅读器 48.3 提供SyndicationFeed 48.4 小结 第Ⅶ部分 附录 附录A ADO NET Entity Framework 附录B C#、Visual Basic和C++/CLI 附录C Windows Vista和Windows Server 2008
-
下载
Protel PCB放置汉字工具 ProtelHz
Protel PCB放置汉字工具 ProtelHz
-
下载
基于EMD-ICA的机电系统音频故障诊断方法研究.pdf
基于EMD-ICA的机电系统音频故障诊断方法研究.pdf
-
下载
Labview相关工具包与模块安装.pdf
Labview相关工具包与模块安装.pdf
-
下载
GetColor.zip
GetColor.zip
-
下载
常州淮安连云港.zip
常州淮安连云港.zip
-
下载
Java_newsSystem-master.zip
Java_newsSystem-master.zip
-
下载
plsql12.zip
plsql12.zip
-
下载
C++下爱因斯坦棋策略的实现
C++下爱因斯坦棋策略的实现
-
下载
Java编程语言控制语句.docx
Java编程语言控制语句.docx
-
下载
java编程语言的发展简史.docx
java编程语言的发展简史.docx
