C#高级编程(第6版)pdf

图书网 2018年5月9日09:17:56
评论
2.5K

C#高级编程(第6版) 内容简介

第6版面向C#2008和,NET 3.5,在全面展示,NET和C#新特性的同时继续完善原有的内容,是有一些C#基础知识的读者或者想迁移到C#的其他程序员全面掌握C#2008的教程。

C#高级编程(第6版) 目录

第Ⅰ部分 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

C#高级编程(第6版) 精彩文摘

第Ⅰ部分 C# 语言

第1章 .NET体系结构

我们不能孤立地使用C#语言,而必须和.NET Framework一起考虑。C#编译器专门用于NET,这表示用C#编写的所有代码总是在.NET Framework中运行。对于#语言来说,可以得出两个重要的结论:

(1)C#的结构和论反映了NET基础方法论。

(2)在许多情况下,C#的特定语言功能取决于NET的功能,或依赖于NET基类。

图书网:C#高级编程(第6版)pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

程序设计

重构 改善既有代码的设计(中文版)pdf

《重构:改善既有代码的设计》(中文版)所提的这些重构准则将帮助你一次一小步地修改你的代码,这就减少了过程中的风险。很快你就会把这些重构准则和其名称加入自己的开发词典中,并且朗朗上口...
程序设计

数据结构 C语言版 第2版pdf

适读人群 :普通高校电子信息大类本科生学习、考研,同时也适合零售和培训。 采用“案例驱动”的编写模式。书中结合实际应用,将各章按照“案例引入——数据结构及其操作——案例分析与实现”...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: