计算机书籍控

C#高级编程(第8版)

   内格尔编著的《C#高级编程(第8版.NET开发经典名著)》旨在帮助有经验的程序员,更新和提升他们使用C#和.NET 4.5编写Windows应用程序、Web app和Metro apps等方面的技能。书中提供了丰富的有关中、高级功能的信息,包括了职业开发人员需要了解和应用C#进行工作的全部知识。

目录


第Ⅰ部分C#语言
第1章.NET体系结构
1.1C#与.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.4.4并行编程
1.4.5异步编程
1.5.NETFramework类
1.6名称空间
1.7用C#创建.NET应用程序
1.7.1创建ASP.NET应用程序
1.7.2使用WPF
1.7.3Windows8应用程序
1.7.4Windows服务
1.7.5WCF
1.7.6WindowsWF
1.8C#在.NET企业体系结构中的作用
1.9小结
第2章核心C#
2.1C#基础
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.2CTS类型
2.4.3预定义的值类型
2.4.4预定义的引用类型
2.5流控制
2.5.1条件语句
2.5.2循环
2.5.3跳转语句
2.6枚举
2.7名称空间
2.7.1using语句
2.7.2名称空间的别名
2.8Main()方法
2.8.1多个Main()方法
2.8.2给Main()方法传递参数
2.9有关编译C#文件的更多内容
2.10控制台I/O
2.11使用注释
2.11.1源文件中的内部注释
2.11.2XML文档
2.12C#预处理器指令
2.12.1#define和#undef
2.12.2#if、#elif、#else和#endif
2.12.3#warning和#error
2.12.4#region和#endregion
2.12.5#line
2.12.6#pragma
2.13C#编程规则
2.13.1关于标识符的规则
2.13.2用法约定
2.14小结
第3章对象和类型
3.1创建及使用类
3.2类和结构
3.3类
3.3.1数据成员
3.3.2函数成员
3.3.3只读字段
3.4匿名类型
3.5结构
3.5.1结构是值类型
3.5.2结构和继承
3.5.3结构的构造函数
3.6弱引用
3.7部分类
3.8静态类
3.9Object类
3.9.1System.Object()方法
3.9.2ToString()方法
3.10扩展方法
3.11小结
第4章继承
4.1继承
4.2继承的类型
4.2.1实现继承和接口继承
4.2.2多重继承
4.2.3结构和类
4.3实现继承
4.3.1虚方法
4.3.2隐藏方法
4.3.3调用函数的基类版本
4.3.4抽象类和抽象函数
4.3.5密封类和密封方法
4.3.6派生类的构造函数
4.4修饰符
4.4.1可见性修饰符
4.4.2其他修饰符
4.5接口
4.5.1定义和实现接口
4.5.2派生的接口
4.6小结
第5章泛型
5.1泛型概述
5.1.1性能
5.1.2类型安全
5.1.3二进制代码的重用
5.1.4代码的扩展
5.1.5命名约定
5.2创建泛型类
5.3泛型类的功能
5.3.1默认值
5.3.2约束
5.3.3继承
5.3.4静态成员
5.4泛型接口
5.4.1协变和抗变
5.4.2泛型接口的协变
5.4.3泛型接口的抗变
5.5泛型结构
5.6泛型方法
5.6.1泛型方法示例
5.6.2带约束的泛型方法
5.6.3带委托的泛型方法
5.6.4泛型方法规范
5.7小结
第6章数组
6.1同一类型和不同类型的多个对象
6.2简单数组
6.2.1数组的声明
6.2.2数组的初始化
6.2.3访问数组元素
6.2.4使用引用类型
6.3多维数组
6.4锯齿数组
6.5Array类
6.5.1创建数组
6.5.2复制数组
6.5.3排序
6.6数组作为参数
6.6.1数组协变
6.6.2ArraySegment
6.7枚举
6.7.1IEnumerator接口
6.7.2foreach语句
6.7.3yield语句
6.8元组
6.9结构比较
6.10小结
第7章运算符和类型强制转换
7.1运算符和类型转换
7.2运算符
7.2.1运算符的简化操作
7.2.2运算符的优先级
7.3类型的安全性
7.3.1类型转换
7.3.2装箱和拆箱
7.4比较对象的相等性
7.4.1比较引用类型的相等性
7.4.2比较值类型的相等性
7.5运算符重载
7.5.1运算符的工作方式
7.5.2运算符重载的示例:Vector结构
7.6用户定义的类型强制转换
7.6.1实现用户定义的类型强制转换
7.6.2多重类型强制转换
7.7小结
第8章委托、Lambda表达式
和事件
8.1引用方法
8.2委托
8.2.1声明委托
8.2.2使用委托
8.2.3简单的委托示例
8.2.4Action和Func委托
8.2.5BubbleSorter示例
8.2.6多播委托
8.2.7匿名方法
8.3Lambda表达式
8.3.1参数
8.3.2多行代码
8.3.3闭包
8.3.4使用foreach语句的闭包
8.4事件
8.4.1事件发布程序
8.4.2事件侦听器
8.4.3弱事件
8.5小结
第9章字符串和正则表达式
9.1System.String类
9.1.1创建字符串
9.1.2StringBuilder成员
9.1.3格式字符串
9.2正则表达式
9.2.1正则表达式概述
9.2.2RegularExpressionsPlayaround示例
9.2.3显示结果
9.2.4匹配、组合和捕获
9.3小结
第10章集合
10.1概述
10.2集合接口和类型
10.3列表
10.3.1创建列表
10.3.2只读集合
10.4队列
10.5栈
10.6链表
10.7有序列表
10.8字典
10.8.1键的类型
10.8.2字典示例
10.8.3Lookup类
10.8.4有序字典
10.9集
10.10可观察的集合
10.11位数组
10.11.1BitArray类
10.11.2BitVector32结构
10.12并发集合
10.12.1创建管道
10.12.2使用Blocking—Collection
10.12.3使用Concurrent—Dictionary
10.12.4完成管道
10.13性能
10.14小结
第11章LINQ
11.1LINQ概述
11.1.1列表和实体
11.1.2LINQ查询
11.1.3扩展方法
11.1.4推迟查询的执行
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.2.14聚合操作符
11.2.15转换操作符
11.2.16生成操作符
11.3并行LINQ
11.3.1并行查询
11.3.2分区器
11.3.3取消
11.4表达式树
11.5LINQ提供程序
11.6小结
第12章动态语言扩展
12.1DLR
12.2dynamic类型
12.3包含DLRScriptRuntime
12.4DynamicObject和ExpandoObject
12.4.1DynamicObject
12.4.2ExpandoObject
12.5小结
第13章异步编程
13.1异步编程的重要性
13.2异步模式
13.2.1同步调用
13.2.2异步模式
13.2.3基于事件的异步模式
13.2.4基于任务的异步模式
13.3异步编程的基础
13.3.1创建任务
13.3.2调用异步方法
13.3.3延续任务
13.3.4同步上下文
13.3.5使用多个异步方法
13.3.6转换异步模式
13.4错误处理
13.4.1异步方法的异常处理
13.4.2多个异步方法的异常处理
13.4.3AggregateException类
13.5取消
13.5.1开始取消任务
13.5.2使用框架特性取消任务
13.5.3取消自定义任务
13.6小结
第14章内存管理和指针
14.1内存管理
14.2后台内存管理
14.2.1值数据类型
14.2.2引用数据类型
14.2.3垃圾回收
14.3释放非托管的资源
14.3.1析构函数
14.3.2IDisposable接口
14.3.3实现IDisposable接口和析构函数
14.4不安全的代码
14.4.1用指针直接访问内存
14.4.2指针示例:PointerPlayground
14.4.3使用指针优化性能
14.5小结
第15章反射
15.1在运行期间处理和检查代码
15.2自定义特性
15.2.1编写自定义特性
15.2.2自定义特性示例:WhatsNewAttributes
15.3反射
15.3.1System.Type类
15.3.2TypeView示例
15.3.3Assembly类
15.3.4完成WhatsNewAttributes示例
15.4小结
第16章错误和异常
16.1简介
16.2异常类
16.3捕获异常
16.3.1实现多个catch块
16.3.2在其他代码中捕获异常
16.3.3System.Exception属性
16.3.4没有处理异常时所发生的情况
16.3.5嵌套的try块
16.4用户定义的异常类
16.4.1捕获用户定义的异常
16.4.2抛出用户定义的异常
16.4.3定义用户定义的异常类
16.5调用者信息
16.6小结
第Ⅱ部分VisualStudio
第17章VisualStudio2012
17.1用VisualStudio2012进行工作
17.1.1项目文件的改进
17.1.2VisualStudio的版本
17.1.3VisualStudio设置
17.2创建项目
17.2.1面向多个版本的.NETFramework
17.2.2选择项目类型
17.3浏览并编写项目
17.3.1SolutionExplorer
17.3.2用代码编辑器进行工作
17.3.3学习和理解其他窗口
17.3.4排列窗口
17.4构建项目
17.4.1构建、编译和生成
17.4.2调试版本和发布版本
17.4.3选择配置
17.4.4编辑配置
17.5调试代码
17.5.1设置断点
17.5.2使用数据提示和调试器可视化工具
17.5.3监视和修改变量
17.5.4异常
17.5.5多线程
17.5.6IntelliTrace
17.6重构工具
17.7体系结构工具
17.7.1依赖项关系图
17.7.2层关系图
17.8分析应用程序
17.8.1序列图
17.8.2探查器
17.8.3ConcurrencyVisualizer
17.8.4CodeAnalysis
17.8.5CodeMetrics
17.9单元测试
17.9.1创建单元测试
17.9.2运行单元测试
17.9.3预期异常
17.9.4测试全部代码路径
17.9.5外部依赖
17.9.6FakesFramework
17.10Windows8、WCF、WF等
17.10.1使用VisualStudio2012生成WCF应用程序
17.10.2使用VisualStudio2012生成WF应用程序
17.10.3使用VisualStudio2012生成WindowsStore应用程序
17.11小结
第18章部署
18.1部署是应用程序生命周期的一部分
18.2部署的规划
18.2.1部署选项
18.2.2部署要求
18.2.3部署.NET运行库
18.3传统的部署选项
18.3.1xcopy部署
18.3.2xcopy和Web应用程序
18.3.3WindowsInstaller
18.4ClickOnce
18.4.1ClickOnce操作
18.4.2发布ClickOnce应用程序
18.4.3ClickOnce设置
18.4.4ClickOnce文件的应用程序缓存
18.4.5应用程序的安装
18.4.6ClickOnce部署API
18.5Web部署
18.5.1Web应用程序
18.5.2配置文件
18.5.3创建WebDeploy包
18.6Windows8应用程序
18.6.1创建应用程序包
18.6.2WindowsAppCertificationKit
18.6.3旁加载
18.6.4Windows部署API
18.7小结
第Ⅲ部分基础
第19章程序集
19.1程序集的含义
19.1.1程序集的功能
19.1.2程序集的结构
19.1.3程序集清单
19.1.4名称空间、程序集和组件
19.1.5私有程序集和共享程序集
19.1.6附属程序集
19.1.7查看程序集
19.2构建程序集
19.2.1创建模块和程序集
19.2.2程序集的特性
19.2.3创建和动态加载程序集
19.3应用程序域
19.4共享程序集
19.4.1强名
19.4.2使用强名获得完整性
19.4.3全局程序集缓存
19.4.4创建共享程序集
19.4.5创建强名
19.4.6安装共享程序集
19.4.7使用共享程序集
19.4.8程序集的延迟签名
19.4.9引用
19.4.10本机映像生成器
19.5配置.NET应用程序
19.5.1配置类别
19.5.2绑定程序集
19.6版本问题
19.6.1版本号
19.6.2通过编程方式获取版本
19.6.3绑定到程序集版本
19.6.4发行者策略文件
19.6.5运行库的版本
19.7在不同的技术之间共享程序集
19.7.1共享源代码
19.7.2可移植类库
19.8小结
第20章诊断
20.1诊断概述
20.2代码协定
20.2.1前提条件
20.2.2后置条件
20.2.3不变量
20.2.4纯粹性
20.2.5接口的协定
20.2.6简写
20.2.7协定和遗留代码
20.3跟踪
20.3.1跟踪源
20.3.2跟踪开关
20.3.3跟踪侦听器
20.3.4筛选器
20.3.5相关性
20.3.6使用ETW进行跟踪
20.4事件日志
20.4.1事件日志体系结构
20.4.2事件日志类
20.4.3创建事件源
20.4.4写入事件日志
20.4.5资源文件
20.5性能监视
20.5.1性能监视类
20.5.2性能计数器生成器
20.5.3添加PerformanceCounter组件
20.5.4perfmon.exe
20.6小结
第21章任务、线程和同步
21.1概述
21.2Parallel类
21.2.1用Parallel.For()方法循环
21.2.2使用Parallel.ForEach()方法循环
21.2.3通过Parallel.Invoke()方法调用多个方法
21.3任务
21.3.1启动任务
21.3.2Future——任务的结果
21.3.3连续的任务
21.3.4任务层次结构
21.4取消架构
21.4.1Parallel.For()方法的取消
21.4.2任务的取消
21.5线程池
21.6Thread类
21.6.1给线程传递数据
21.6.2后台线程
21.6.3线程的优先级
21.6.4控制线程
21.7线程问题
21.7.1争用条件
21.7.2死锁
21.8同步
21.8.1lock语句和线程安全
21.8.2Interlocked类
21.8.3Monitor类
21.8.4SpinLock结构
21.8.5WaitHandle基类
21.8.6Mutex类
21.8.7Semaphore类
21.8.8Events类
21.8.9Barrier类
21.8.10ReaderWriterLockSlim类
21.9Timer类
21.10数据流
21.10.1使用动作块
21.10.2源和目标数据块
21.10.3连接块
21.11小结
第22章安全性
22.1概述
22.2身份验证和授权
22.2.1标识和Principal
22.2.2角色
22.2.3声明基于角色的安全性
22.2.4声称
22.2.5客户端应用程序服务
22.3加密
22.3.1签名
22.3.2交换密钥和安全传输
22.4资源的访问控制
22.5代码访问安全性
22.5.1第2级安全透明性
22.5.2权限
22.6使用证书发布代码
22.7小结
第23章互操作
23.1.NET和COM技术
23.1.1元数据
23.1.2释放内存
23.1.3接口
23.1.4方法绑定
23.1.5数据类型
23.1.6注册
23.1.7线程
23.1.8错误处理
23.1.9事件
23.1.10封送
23.2在.NET客户端中使用COM组件
23.2.1创建一个COM组件
23.2.2创建运行库可调用包装
23.2.3使用RCW
23.2.4通过动态语言扩展使用COM服务
23.2.5线程问题
23.2.6添加连接点
23.3在COM客户端中使用.NET组件
23.3.1COM可调用包装
23.3.2创建.NET组件
23.3.3创建一个类型库
23.3.4COM互操作特性
23.3.5COM注册
23.3.6创建COM客户端应用程序
23.3.7添加连接点
23.3.8使用sink对象创建客户端
23.3.9平台调用
23.4小结
第24章文件和注册表操作
24.1文件和注册表
24.2管理文件系统
24.2.1表示文件和文件夹的.NET类
24.2.2Path类
24.2.3FileProperties示例
24.3移动、复制和删除文件
24.3.1FilePropertiesAndMovement示例
24.3.2FilePropertiesAndMovement示例的代码
24.4读写文件
24.4.1读取文件
24.4.2写入文件
24.4.3流
24.4.4缓存的流
24.4.5使用FileStream类读写二进制文件
24.4.6读写文本文件
24.5映射内存的文件
24.6读取驱动器信息
24.7文件的安全性
24.7.1从文件中读取ACL
24.7.2从目录中读取ACL
24.7.3添加和删除文件中的ACL项
24.8读写注册表
24.8.1注册表
24.8.2.NET注册表类
24.9读写独立存储器
24.10小结
第25章事务处理
25.1简介
25.2概述
25.2.1事务处理阶段
25.2.2ACID属性
25.3数据库和实体类
25.4传统的事务
25.4.1ADO.NET事务
25.4.2System.Enterprise—Services
25.5System.Transactions
25.5.1可提交的事务
25.5.2事务处理的升级
25.5.3依赖事务
25.5.4环境事务
25.6隔离级别
25.7自定义资源管理器
25.8文件系统事务
25.9小结
第26章网络
26.1网络
26.2WebClient类
26.2.1下载文件
26.2.2基本的WebClient示例
26.2.3上传文件
26.3WebRequest类和WebResponse类
26.3.1身份验证
26.3.2使用代理
26.3.3异步页面请求
26.4把输出结果显示为HTML页面
26.4.1从应用程序中进行简单的Web浏览
26.4.2启动InternetExplorer实例
26.4.3给应用程序提供更多IE类型的功能
26.4.4使用WebBrowser控件打印
26.4.5显示所请求页面的代码
26.4.6WebRequest类和WebResponse类的层次结构
26.5实用工具类
26.5.1URI
26.5.2IP地址和DNS名称
26.6较低层的协议
26.6.1使用SmtpClient
26.6.2使用TCP类
26.6.3TcpSend和TcpReceive示例
26.6.4TCP和UDP
26.6.5UDP类
26.6.6Socket类
26.6.7WebSocket
26.7小结
第27章Windows服务
27.1Windows服务
27.2Windows服务的体系结构
27.2.1服务程序
27.2.2服务控制程序
27.2.3服务配置程序
27.2.4Windows服务的类
27.3创建Windows服务程序
27.3.1创建服务的核心功能
27.3.2QuoteClient示例
27.3.3Windows服务程序
27.3.4线程化和服务
27.3.5服务的安装
27.3.6安装程序
27.4Windows服务的监控和控制
27.4.1MMC管理单元
27.4.2net.exe实用程序
27.4.3sc.exe实用程序
27.4.4VisualStudioServerExplorer
27.4.5编写自定义ServiceController类
27.5故障排除和事件日志
27.6小结
第28章本地化
28.1全球市场
28.2System.Globalization名称空间
28.2.1Unicode问题
28.2.2区域性和区域
28.2.3使用区域性
28.2.4排序
28.3资源
28.3.1创建资源文件
28.3.2资源文件生成器
28.3.3ResourceWriter
28.3.4使用资源文件
28.3.5System.Resources名称空间
28.4使用VisualStudio的WindowsForms本地化
28.4.1通过编程方式修改区域性
28.4.2使用自定义资源消息
28.4.3资源的自动回退
28.4.4外包翻译
28.5ASP.NETWebForms的本地化
28.6用WPF本地化
28.6.1用于WPF的.NET资源
28.6.2XAML资源字典
28.7自定义资源读取器
28.7.1创建DatabaseResource—Reader类
28.7.2创建DatabaseResource—Set类
28.7.3创建DatabaseResource—Manager类
28.7.4DatabaseResourceReader的客户端应用程序
28.8创建自定义区域性
28.9用WindowsStore应用程序进行本地化
28.9.1使用资源
28.9.2使用多语言应用程序工具集进行本地化
28.10小结
第29章核心XAML
29.1XAML的作用
29.2概述
29.2.1元素如何映射到.NET对象上
29.2.2使用自定义.NET类
29.2.3把属性用作特性
29.2.4把属性用作元素
29.2.5基本的.NET类型
29.2.6使用集合和XAML
29.2.7用XAML代码调用构造函数
29.3依赖属性
29.3.1创建依赖属性
29.3.2强制值回调
29.3.3值变更回调和事件
29.3.4事件的冒泡和隧道
29.4附加属性
29.5标记扩展
29.6创建自定义标记扩展
29.7XAML定义的标记扩展
29.8读写XAML
29.9小结
第30章ManagedExtensibilityFramework
30.1概述
30.2MEF的体系结构
30.2.1使用属性的MEF
30.2.2基于约定的部件注册
30.3定义协定
30.4导出部件
30.4.1创建部件
30.4.2导出属性和方法
30.4.3导出元数据
30.4.4使用元数据进行惰性加载
30.5导入部件
30.5.1导入连接
30.5.2部件的惰性加载
30.5.3用惰性实例化的部件读取元数据
30.6容器和出口提供程序
30.7类别
30.8小结
第31章Windows运行库
31.1概述
31.1.1.NET与Windows运行库的比较
31.1.2名称空间
31.1.3元数据
31.1.4语言投射
31.1.5Windows运行库中的类型
31.2Windows运行库组件
31.2.1集合
31.2.2流
31.2.3委托与事件
31.2.4异步操作
31.3Windows8应用程序
31.4Windows8应用程序的生命周期
31.4.1Windows8应用程序的执行状态
31.4.2SuspensionManager
31.4.3导航状态
31.4.4测试暂停
31.4.5页面状态
31.5Windows8应用程序的设置
31.6摄像头功能
31.7小结
第Ⅳ部分数据
第32章核心ADO.NET
32.1ADO.NET概述
32.1.1名称空间
32.1.2共享类
32.1.3数据库专用类
32.2使用数据库连接
32.2.1管理连接字符串
32.2.2高效地使用连接
32.2.3事务
32.3命令
32.3.1执行命令
32.3.2调用存储过程
32.4快速数据访问:数据读取器
32.5异步数据访问:使用Task和await
32.6管理数据和关系:DataSet类
32.6.1数据表
32.6.2数据列
32.6.3数据关系
32.6.4数据约束
32.7XML架构:用XSD生成代码
32.8填充DataSet类
32.8.1用数据适配器填充DataSet
32.8.2从XML中填充DataSet类
32.9持久化DataSet类的修改
32.9.1通过数据适配器进行更新
32.9.2写入XML输出结果
32.10使用ADO.NET
32.10.1分层开发
32.10.2生成SQLServer的键
32.10.3命名约定
32.11小结
第33章ADO.NETEntityFramework
33.1用EntityFramework编程
33.2EntityFramework映射
33.2.1逻辑层
33.2.2概念层
33.2.3映射层
33.2.4连接字符串
33.3实体
33.4对象上下文
33.5关系
33.5.1一个层次结构一个表
33.5.2一种类型一个表
33.5.3懒惰加载、延迟加载和预先加载
33.6查询数据
33.6.1EntitySQL
33.6.2对象查询
33.6.3LINQtoEntities
33.7把数据写入数据库
33.7.1对象跟踪
33.7.2改变信息
33.7.3附加和分离实体
33.7.4存储实体的变化
33.8使用POCO对象
33.8.1定义实体类型
33.8.2创建数据上下文
33.8.3查询和更新
33.9使用CodeFirst编程模型
33.9.1定义实体类型
33.9.2创建数据上下文
33.9.3创建数据库,存储实体
33.9.4数据库
33.9.5查询数据
33.9.6定制数据库的生成
33.10小结
第34章处理XML
34.1XML
34.2.NET支持的XML标准
34.3System.Xml名称空间
34.4使用System.Xml类
34.5读写流格式的XML
34.5.1使用XmlReader类
34.5.2使用XmlReader类进行验证
34.5.3使用XmlWriter类
34.6在.NET中使用DOM
34.7使用XPathNavigator类
34.7.1System.Xml.XPath名称空间
34.7.2System.Xml.Xsl名称空间
34.7.3调试XSLT
34.8XML和ADO.NET
34.8.1将ADO.NET数据转换为XML文档
34.8.2把XML文档转换为ADO.NET数据
34.9在XML中序列化对象
34.10LINQtoXML和.NET
34.11使用不同的XML对象
34.11.1XDocument对象
34.11.2XElement对象
34.11.3XNamespace对象
34.11.4XComment对象
34.11.5XAttribute对象
34.12使用LINQ查询XML文档
34.12.1查询静态的XML文档
34.12.2查询动态的XML文档
34.13XML文档的更多查询技术
34.13.1读取XML文档
34.13.2写入XML文档
34.14小结
第Ⅴ部分显示
第35章核心WPF
35.1理解WPF
35.1.1名称空间
35.1.2类层次结构
35.2形状
35.3几何图形
35.4变换
35.5画笔
35.5.1SolidColorBrush
35.5.2LinearGradientBrush
35.5.3RadialGradientBrush
35.5.4DrawingBrush
35.5.5ImageBrush
35.5.6VisualBrush
35.6控件
35.6.1简单控件
35.6.2内容控件
35.6.3带标题的内容控件
35.6.4项控件
35.6.5带标题的项控件
35.6.6修饰
35.7布局
35.7.1StackPanel
35.7.2WrapPanel
35.7.3Canvas
35.7.4DockPanel
35.7.5Grid
35.8样式和资源
35.8.1样式
35.8.2资源
35.8.3系统资源
35.8.4从代码中访问资源
35.8.5动态资源
35.8.6资源字典
35.9触发器
35.9.1属性触发器
35.9.2多触发器
35.9.3数据触发器
35.10模板
35.10.1控件模板
35.10.2数据模板
35.10.3样式化列表框
35.10.4ItemTemplate
35.10.5列表框元素的控件模板
35.11动画
35.11.1时间轴
35.11.2非线性动画
35.11.3事件触发器
35.11.4关键帧动画
35.12可见状态管理器
35.12.1可见的状态
35.12.2变换
35.133—D
35.13.1模型
35.13.2照相机
35.13.3光线
35.13.4旋转
35.14小结
第36章用WPF编写业务
应用程序
36.1概述
36.2菜单和功能区控件
36.2.1菜单控件
36.2.2功能区控件
36.3Commanding
36.3.1定义命令
36.3.2定义命令源
36.3.3命令绑定
36.4数据绑定
36.4.1BooksDemo应用程序内容
36.4.2用XAML绑定
36.4.3简单对象的绑定
36.4.4更改通知
36.4.5对象数据提供程序
36.4.6列表绑定
36.4.7主从绑定
36.4.8多绑定
36.4.9优先绑定
36.4.10值的转换
36.4.11动态添加列表项
36.4.12动态添加选项卡中的项
36.4.13数据模板选择器
36.4.14绑定到XML上
36.4.15绑定的验证
36.5TreeView
36.6DataGrid
36.6.1自定义列
36.6.2行的细节
36.6.3用DataGrid进行分组
36.6.4实时成型
36.7小结
第37章用WPF创建文档
37.1简介
37.2文本元素
37.2.1字体
37.2.2TextEffect
37.2.3内联
37.2.4块
37.2.5列表
37.2.6表
37.2.7块的锚定
37.3流文档
37.4固定文档
37.5XPS文档
37.6打印
37.6.1用PrintDialog打印
37.6.2打印可见元素
37.7小结
第38章Windows8应用程序
38.1概述
38.2Windows8的现代UI设计
38.2.1内容,不是chrome设计
38.2.2快速流畅
38.2.3可读性
38.3示例应用程序的核心功能
38.3.1文件和目录
38.3.2应用程序数据
38.3.3应用程序页面
38.4应用程序工具栏
38.5启动与导航
38.6布局的变化
38.7存储
38.7.1定义数据协定
38.7.2写入移动数据
38.7.3读取数据
38.7.4写入图像
38.7.5读取图像
38.8选择器
38.9共享协定
38.9.1共享源
38.9.2共享目标
38.10Tile
38.11小结
第39章核心ASP.NET
39.1用于Web应用程序的.NETFramework
39.1.1ASP.NETWebForms
39.1.2ASP.NETWebPages
39.1.3ASP.NETMVC
39.2Web技术
39.2.1HTML
39.2.2CSS
39.2.3JavaScript和jQuery
39.3托管和配置
39.4处理程序和模块
39.4.1创建自定义处理程序
39.4.2ASP.NET处理程序
39.4.3创建自定义模块
39.4.4通用模块
39.5全局的应用程序类
39.6请求和响应
39.6.1使用HttpRequest对象
39.6.2使用HttpResponse对象
39.7状态管理
39.7.1视图状态
39.7.2cookie
39.7.3会话
39.7.4应用程序状态
39.7.5缓存
39.7.6配置文件
39.8成员和角色
39.8.1配置成员
39.8.2使用成员API
39.8.3启用角色API
39.9小结
第40章ASP.NETWebForms
40.1概述
40.2ASPX页面模型
40.2.1添加控件
40.2.2使用事件
40.2.3使用回送
40.2.4使用自动回送
40.2.5回送到其他页面
40.2.6定义强类型化的跨页面回送
40.2.7使用页面事件
40.2.8ASPX代码
40.2.9服务器端控件
40.3母版页
40.3.1创建母版页
40.3.2使用母版页
40.3.3在内容页中定义母版页内容
40.4导航
40.4.1站点地图
40.4.2Menu控件
40.4.3菜单路径
40.5验证用户输入
40.5.1使用验证控件
40.5.2使用验证摘要
40.5.3验证组
40.6访问数据
40.6.1使用EntityFramework
40.6.2使用EntityDataSource
40.6.3排序和编辑
40.6.4定制列
40.6.5在网格中使用模板
40.6.6定制对象上下文的创建过程
40.6.7对象数据源
40.7安全性
40.7.1启用表单身份验证
40.7.2登录控件
40.8Ajax
40.8.1ASP.NETAJAX的概念
40.8.2ASP.NETAJAX网站示例
40.8.3支持ASP.NETAJAX的网站配置
40.8.4添加ASP.NETAJAX功能
40.9小结
第41章ASP.NETMVC
41.1ASP.NETMVC概述
41.2定义路由
41.2.1添加路由
41.2.2路由约束
41.3创建控制器
41.3.1动作方法
41.3.2参数
41.3.3返回数据
41.4创建视图
41.4.1向视图传递数据
41.4.2Razor语法
41.4.3强类型视图
41.4.4布局
41.4.5部分视图
41.5从客户端提交数据
41.5.1模型绑定器
41.5.2注释和验证
41.6HTMLHelper
41.6.1简单的Helper
41.6.2使用模型数据
41.6.3定义HTML特性
41.6.4创建列表
41.6.5强类型化的Helper
41.6.6编辑器扩展
41.6.7创建自定义Helper
41.6.8模板
41.7创建数据驱动的应用程序
41.7.1定义模型
41.7.2创建控制器和视图
41.8动作过滤器
41.9身份验证和授权
41.9.1登录模型
41.9.2登录控制器
41.9.3登录视图
41.10ASP.NETWebAPI
41.10.1使用EntityFrameworkCode—First进行数据访问
41.10.2为ASP.NETWebAPI定义路由
41.10.3控制器实现
41.10.4使用jQuery的客户端应用程序
41.11小结
第42章ASP.NET动态数据
42.1概述
42.2创建动态数据Web应用程序
42.2.1配置Scaffolding
42.2.2查看结果
42.3定制动态数据网站
42.3.1控制框架
42.3.2定制模板
42.3.3配置路由
42.4小结
第Ⅵ部分通信
第43章WCF
43.1WCF概述
43.1.1SOAP
43.1.2WSDL
43.1.3REST
43.1.4JSON
43.2创建简单的服务和客户端
43.2.1定义服务和数据协定
43.2.2数据访问
43.2.3服务的实现
43.2.4WCF服务宿主和WCF测试客户端
43.2.5自定义服务宿主
43.2.6WCF客户端
43.2.7诊断
43.2.8与客户端共享协定程序集
43.3协定
43.3.1数据协定
43.3.2版本问题
43.3.3服务协定
43.3.4消息协定
43.3.5错误协定
43.4服务的行为
43.5绑定
43.5.1标准的绑定
43.5.2标准绑定的特性
43.5.3Web套接字
43.6宿主
43.6.1自定义宿主
43.6.2WAS宿主
43.6.3预配置的宿主类
43.7客户端
43.7.1使用元数据
43.7.2共享类型
43.8双工通信
43.8.1双工通信的协定
43.8.2双工通信的服务
43.8.3双工通信的客户端应用程序
43.9路由
43.9.1示例应用程序
43.9.2路由接口
43.9.3WCF路由服务
43.9.4为失败使用路由器
43.9.5改变协定的桥梁
43.9.6过滤器的类型
43.10小结
第44章WCF数据服务
44.1概述
44.2包含CLR对象的自定义宿主
44.2.1CLR对象
44.2.2数据模型
44.2.3数据服务
44.2.4驻留服务
44.2.5其他服务操作
44.3HTTP客户端应用程序
44.4使用WCF数据服务和ADO.NETEntityFramework
44.4.1ASP.NET宿主和EDM
44.4.2使用WCF数据服务客户库
44.5小结
第45章WindowsWF4
45.1工作流概述
45.2HelloWorld示例
45.3活动
45.3.1If活动
45.3.2InvokeMethod活动
45.3.3Parallel活动
45.3.4Delay活动
45.3.5Pick活动
45.4自定义活动
45.4.1活动的验证
45.4.2设计器
45.4.3自定义复合活动
45.5工作流
45.5.1实参和变量
45.5.2WorkflowApplication
45.5.3存放WCF工作流
45.5.4工作流的版本
45.5.5驻留设计器
45.6小结
第46章对等网络
46.1P2P网络概述
46.1.1客户端—服务器体系结构
46.1.2P2P体系结构
46.1.3P2P体系结构的挑战
46.1.4P2P术语
46.1.5P2P解决方案
46.2PNRP
46.3构建P2P应用程序
46.4小结
第47章消息队列
47.1概述
47.1.1使用消息队列的场合
47.1.2消息队列功能
47.2MessageQueuing产品
47.3消息队列体系结构
47.3.1消息
47.3.2消息队列
47.4MessageQueuing管理工具
47.4.1创建消息队列
47.4.2消息队列属性
47.5消息队列的编程实现
47.5.1创建消息队列
47.5.2查找队列
47.5.3打开已知队列
47.5.4发送消息
47.5.5接收消息
47.6课程订单应用程序
47.6.1课程订单类库
47.6.2课程订单消息发送程序
47.6.3发送优先级和可恢复的消息
47.6.4课程订单消息接收应用程序
47.7接收结果
47.7.1确认队列
47.7.2响应队列
47.8事务队列
47.9消息队列和WCF
47.9.1带数据协定的实体类
47.9.2WCF服务协定
47.9.3WCF消息接收应用程序
47.9.4WCF消息发送应用程序
47.10消息队列的安装
47.11小结

书籍下载

免费下载 密码:hsxe

正版书籍

C#高级编程(第8版)