C#高级编程txt,chm,pdf,epub,mobi下载 作者: Christian Nagel 出版社: 清华大学出版社 副标题: 第6版 译者: 李铭 / 黄静 出版年: 2008-10 页数: 1557 定价: 158.00元 丛书: wrox红皮书 ISBN: 9787302184959 内容简介 · · · · · ·《C#高级编程(第6版)》面向C#2008和NET 3.5,在全面展示,NET和C#新特性的同时继续完善原有的内容,是有一些C#基础知识的读者或者想迁移到C#的其他程序员全面掌握C#2008的首选教程。《C#高级编程(第6版)》以.NET 3.5和VS2008为基础,是C# 2008及其环境的最终指南。《C#高级编程(第6版)》首先介绍了.NET的体系结构和方法论,解释了C#语言不能孤立看待,而必须放在.NET Framework中考虑原因。在论述了C#的基础知识之后,深入探讨了C#编程的所有内容。《C#高级编程(第6版)》添加了许多新示例,来解释如何使用C#完成各种任务。另外,还增加了一些全新的章节,包括LINQ、SQL、ADO.NET实体、Windows Communication Foundation、Windows Workflow Foun... 作者简介 · · · · · ·李敏波,2001年获清华大学工学博士,随后在新加坡国立大学从事协同产品设计与门户的博士后研究。2002年至2004年在金蝶软件(中国)公司中央研究院担任高级研究员。现任复旦大学软件学院零售与分销管理系统研究中心的副主任,从事教学与科研工作。 目录 · · · · · ·目录第Ⅰ部分 C# 语 言 第1章 .NET体系结构 2 1.1 C#与.NET的关系 2 1.2 公共语言运行库 3 1.2.1 平台无关性 3 · · · · · · () 目录 第Ⅰ部分 C# 语 言 第1章 .NET体系结构 2 1.1 C#与.NET的关系 2 1.2 公共语言运行库 3 1.2.1 平台无关性 3 1.2.2 提高性能 3 1.2.3 语言的互操作性 4 1.3 中间语言 5 1.3.1 面向对象和接口的支持 6 1.3.2 相异值类型和引用类型 6 1.3.3 强数据类型 7 1.3.4 通过异常处理错误 12 1.3.5 特性的使用 13 1.4 程序集 13 1.4.1 私有程序集 14 1.4.2 共享程序集 14 1.4.3 反射 14 1.5 .NET Framework类 15 1.6 命名空间 16 1.7 用C#创建.NET应用程序 16 1.7.1 创建ASP.NET应用程序 16 1.7.2 创建Windows窗体 18 1.7.3 使用Windows Presentation Foundation(WPF) 18 1.7.4 Windows控件 19 1.7.5 Windows服务 19 1.7.6 Windows Communication Foundation(WCF) 19 1.8 C#在.NET企业体系结构中的作用 19 1.9 小结 21 第2章 C#基础 22 2.1 引言 22 2.2 第一个C#程序 23 2.2.1 代码 23 2.2.2 编译并运行程序 23 2.2.3 详细介绍 24 2.3 变量 26 2.3.1 变量的初始化 26 2.3.2 类型推断 27 2.3.3 变量的作用域 28 2.3.4 常量 30 2.4 预定义数据类型 31 2.4.1 值类型和引用类型 31 2.4.2 CTS类型 33 2.4.3 预定义的值类型 33 2.4.4 预定义的引用类型 36 2.5 流控制 38 2.5.1 条件语句 38 2.5.2 循环 42 2.5.3 跳转语句 45 2.6 枚举 46 2.7 数组 47 2.8 命名空间 48 2.8.1 using语句 49 2.8.2 命名空间的别名 50 2.9 Main()方法 51 2.9.1 多个Main()方法 51 2.9.2 给Main()方法传送参数 52 2.10 有关编译C#文件的更多内容 53 2.11 控制台I/O 54 2.12 使用注释 56 2.12.1 源文件中的内部注释 56 2.12.2 XML文档说明 56 2.13 C#预处理器指令 58 2.13.1 #define和 #undef 59 2.13.2 #if, #elif, #else和#endif 59 2.13.3 #warning和 # error 60 2.13.4 #region和#endregion 60 2.13.5 #line 61 2.13.6 #pragma 61 2.14 C#编程规则 61 2.14.1 用于标识符的规则 61 2.14.2 用法约定 62 2.15 小结 68 第3章 对象和类型 69 3.1 类和结构 69 3.2 类成员 70 3.2.1 数据成员 70 3.2.2 函数成员 71 3.2.3 只读字段 83 3.3 匿名类型 84 3.4 结构 85 3.4.1 结构是值类型 86 3.4.2 结构和继承 87 3.4.3 结构的构造函数 87 3.5 部分类 87 3.6 静态类 89 3.7 Object类 89 3.7.1 System.Object方法 89 3.7.2 ToString()方法 90 3.8 扩展方法 92 3.9 小结 92 第4章 继承 93 4.1 继承的类型 93 4.1.1 实现继承和接口继承 93 4.1.2 多重继承 94 4.1.3 结构和类 94 4.2 实现继承 94 4.2.1 虚方法 95 4.2.2 隐藏方法 96 4.2.3 调用函数的基类版本 97 4.2.4 抽象类和抽象函数 98 4.2.5 密封类和密封方法 98 4.2.6 派生类的构造函数 99 4.3 修饰符 103 4.3.1 可见性修饰符 103 4.3.2 其他修饰符 104 4.4 接口 105 4.4.1 定义和实现接口 106 4.4.2 派生的接口 109 4.5 小结 110 第5章 数组 111 5.1 简单数组 111 5.1.1 数组的声明 111 5.1.2 数组的初始化 111 5.1.3 访问数组元素 112 5.1.4 使用引用类型 113 5.2 多维数组 114 5.3 锯齿数组 115 5.4 Array类 116 5.4.1 属性 116 5.4.2 创建数组 117 5.4.3 复制数组 117 5.4.4 排序 118 5.5 数组和集合接口 121 5.5.1 IEumerable接口 121 5.5.2 ICollection接口 121 5.5.3 IList接口 121 5.6 枚举 122 5.6.1 IEnumerator接口 123 5.6.2 foreach语句 123 5.6.3 yield语句 123 5.7 小结 127 第6章 运算符和类型强制转换 128 6.1 运算符 128 6.1.1 运算符的简化操作 129 6.1.2 条件运算符 131 6.1.3 checked和unchecked运算符 131 6.1.4 is运算符 132 6.1.5 as运算符 132 6.1.6 sizeof运算符 132 6.1.7 typeof运算符 133 6.1.8 可空类型和运算符 133 6.1.9 空接合运算符 133 6.1.10 运算符的优先级 134 6.2 类型的安全性 134 6.2.1 类型转换 135 6.2.2 装箱和拆箱 138 6.3 对象的相等比较 139 6.3.1 引用类型的相等比较 139 6.3.2 值类型的相等比较 140 6.4 运算符重载 141 6.4.1 运算符的工作方式 142 6.4.2 运算符重载的示例:Vector结构 142 6.5 用户定义的数据类型转换 149 6.5.1 执行用户定义的类型转换 150 6.5.2 多重数据类型转换 156 6.6 小结 159 第7章 委托和事件 160 7.1 委托 160 7.1.1 在C#中声明委托 161 7.1.2 在C#中使用委托 162 7.1.3 简单的委托示例 165 7.1.4 BubbleSorter示例 166 7.1.5 多播委托 169 7.1.6 匿名方法 172 7.1.7 ?表达式 173 7.1.8 协变和抗变 175 7.2 事件 176 7.2.1 从接收器的角度讨论事件 177 7.2.2 生成事件 179 7.3 小结 182 第8章 字符串和正则表达式 184 8.1 System.String类 184 8.1.1 创建字符串 185 8.1.2 StringBuilder成员 188 8.1.3 格式化字符串 189 8.2 正则表达式 194 8.2.1 正则表达式概述 194 8.2.2 RegularExpressionsPlayaround示例 195 8.2.3 显示结果 198 8.2.4 匹配、组合和捕获 199 8.3 小结 201 第9章 泛型 202 9.1 概述 202 9.1.1 性能 203 9.1.2 类型安全 203 9.1.3 二进制代码的重用 204 9.1.4 代码的扩展 204 9.1.5 命名约定 205 9.2 创建泛型类 205 9.3 泛型类的特性 209 9.3.1 默认值 210 9.3.2 约束 210 9.3.3 继承 212 9.3.4 静态成员 213 9.4 泛型接口 213 9.5 泛型方法 214 9.6 泛型委托 216 9.6.1 执行委托调用的方法 216 9.6.2 对Array类使用泛型委托 218 9.7 Framework的其他泛型类型 220 9.7.1 结构Nullable 220 9.7.2 EventHandler 222 9.7.3 ArraySegment 222 9.8 小结 223 第10章 集合 224 10.1 集合接口和类型 224 10.2 列表 227 10.2.1 创建列表 228 10.2.2 只读集合 237 10.3 队列 237 10.4 栈 241 10.5 链表 242 10.6 有序表 248 10.7 字典 250 10.7.1 键的类型 251 10.7.2 字典示例 252 10.7.3 Lookup类 255 10.7.4 其他字典类 256 10.8 HashSet 257 10.9 位数组 260 10.9.1 BitArray 260 10.9.2 BitVector32 262 10.10 性能 264 10.11 小结 266 第11章 Language Integrated Query 267 11.1 LINQ概述 267 11.1.1 使用List的查询 267 11.1.2 扩展方法 273 11.1.3 λ表达式 275 11.1.4 LINQ查询 276 11.1.5 推迟查询的执行 276 11.2 标准的查询操作符 278 11.2.1 过滤 280 11.2.2 用索引来过滤 280 11.2.3 类型过滤 281 11.2.4 复合的from子句 281 11.2.5 排序 282 11.2.6 分组 283 11.2.7 对嵌套的对象分组 284 11.2.8 连接 285 11.2.9 设置操作 287 11.2.10 分区 288 11.2.11 合计操作符 289 11.2.12 转换 290 11.2.13 生成操作符 291 11.3 表达式树 292 11.4 LINQ提供程序 295 11.5 小结 296 第12章 内存管理和指针 297 12.1 后台内存管理 297 12.1.1 值数据类型 297 12.1.2 引用数据类型 299 12.1.3 垃圾收集 300 12.2 释放未托管的资源 301 12.2.1 析构函数 301 12.2.2 IDisposable接口 303 12.2.3 实现IDisposable接口和析构函数 304 12.3 不安全的代码 305 12.3.1 用指针直接访问内存 306 12.3.2 指针示例:PointerPlayaround 314 12.3.3 使用指针优化性能 318 12.4 小结 321 第13章 反射 322 13.1 定制特性 322 13.1.1 编写定制特性 323 13.1.2 定制特性示例:WhatsNewAttributes 326 13.2 反射 329 13.2.1 System.Type类 329 13.2.2 TypeView示例 332 13.2.3 Assembly类 334 13.2.4 完成WhatsNewAttributes示例 335 13.3 小结 339 第14章 错误和异常 340 14.1 异常类 340 14.2 捕获异常 342 14.2.1 执行多个catch块 344 14.2.2 在其他代码中捕获异常 348 14.2.3 System.Exception属性 348 14.2.4 没有处理异常时所发生的情况 349 14.2.5 嵌套的 try块 349 14.3 用户定义的异常类 351 14.3.1 捕获用户定义的异常 352 14.3.2 抛出用户定义的异常 353 14.3.3 定义异常类 356 14.4 小结 358 第Ⅱ部分 Visual Studio 第15章 Visual Studio 2008 360 15.1 使用Visual Studio 2008 360 15.1.1 创建项目 364 15.1.2 解决方案和项目 370 15.1.3 Windows应用程序代码 373 15.1.4 读取Visual Studio 6项目 373 15.1.5 项目的浏览和编码 374 15.1.6 生成项目 382 15.1.7 调试 386 15.2 修订功能 389 15.3 多目标 391 15.4 WPF、WCF、WF等 393 15.4.1 在Visual Studio中建立WPF应用程序 393 15.4.2 在Visual Studio中建立WF应用程序 395 15.5 小结 396 第16章 部署 397 16.1 部署的设计 397 16.2 部署选项 397 16.2.1 Xcopy实用工具 398 16.2.2 Copy Web工具 398 16.2.3 发布Web站点 398 16.2.4 部署项目 398 16.2.5 ClickOnce 398 16.3 部署的要求 398 16.4 部署.NET运行库 399 16.5 简单的部署 400 16.5.1 Xcopy部署 400 16.5.2 Xcopy和Web应用程序 401 16.5.3 Copy Web工具 401 16.5.4 发布Web站点 401 16.6 Installer项目 402 16.6.1 Windows Installer 402 16.6.2 创建安装程序 403 16.7 ClickOnce 411 16.7.1 ClickOnce操作 411 16.7.2 发布应用程序 412 16.7.3 ClickOnce设置 412 16.7.4 应用程序缓存 412 16.7.5 安全性 413 16.7.6 高级选项 413 16.8 小结 418 第Ⅲ部分 基 类 库 第17章 程序集 420 17.1 程序集的含义 420 17.1.1 程序集的特性 421 17.1.2 程序集的结构 421 17.1.3 程序集的清单 422 17.1.4 命名空间、程序集和组件 422 17.1.5 私有程序集和共享程序集 423 17.1.6 辅助程序集 423 17.1.7 查看程序集 423 17.2 构建程序集 424 17.2.1 创建模块和程序集 424 17.2.2 程序集的属性 426 17.3 动态加载和创建程序集 428 17.4 应用程序域 431 17.5 共享程序集 435 17.5.1 强名 435 17.5.2 使用强名获得完整性 436 17.5.3 全局程序集缓存 436 17.5.4 创建共享程序集 438 17.5.5 创建强名 439 17.5.6 安装共享程序集 440 17.5.7 使用共享程序集 440 17.5.8 程序集的延迟签名 442 17.5.9 引用 442 17.5.10 本机图像生成器 443 17.6 配置.NET应用程序 444 17.6.1 配置类别 445 17.6.2 为搜索程序集配置目录 446 17.7 版本问题 448 17.7.1 版本号 448 17.7.2 编程获取版本 449 17.7.3 应用程序配置文件 449 17.7.4 发布方的策略文件 452 17.7.5 运行库的版本 455 17.8 小结 456 第18章 跟踪和事件 457 18.1 跟踪 457 18.1.1 跟踪源 458 18.1.2 跟踪开关 459 18.1.3 跟踪监听器 460 18.1.4 过滤器 462 18.1.5 断言 463 18.2 事件日志 464 18.2.1 事件日志体系架构 465 18.2.2 事件日志类 466 18.2.3 创建事件源 467 18.2.4 写入事件日志 468 18.2.5 资源文件 468 18.3 性能监控 473 18.3.1 性能监控类 473 18.3.2 性能计数器的构建 473 18.3.3 添加PerformanceCounter组件 474 18.3.4 perfmon.exe 476 18.4 小结 477 第19章 线程和同步 478 19.1 概述 478 19.2 异步委托 479 19.2.1 投票 480 19.2.2 等待句柄 481 19.2.3 异步回调 481 19.3 Thread类 483 19.3.1 给线程传送数据 485 19.3.2 后台线程 486 19.3.3 线程的优先级 487 19.3.4 控制线程 487 19.4 线程池 488 19.5 线程问题 489 19.5.1 竞态条件 489 19.5.2 死锁 492 19.6 同步 493 19.6.1 lock语句和线程安全 494 19.6.2 Interlocked 499 19.6.3 Monitor类 500 19.6.4 等待句柄 501 19.6.5 Mutex类 502 19.6.6 Semaphore类 503 19.6.7 Events类 505 19.6.8 ReaderWriterLockSlim 507 19.7 Timer类 510 19.8 COM单元 511 19.9 基于事件的异步模式 512 19.9.1 BackgroundWorker类 513 19.9.2 激活取消功能 516 19.9.3 激活进度功能 517 19.9.4 创建基于事件的异步组件 518 19.10 小结 522 第20章 安全性 523 20.1 身份验证和授权 523 20.1.1 标识和Principal 523 20.1.2 角色 525 20.1.3 声明基于角色的安全性 525 20.1.4 客户应用程序服务 526 20.2 加密 531 20.2.1 签名 533 20.2.2 密钥的互换和安全传送 534 20.3 资源的访问控制 537 20.4 代码访问的安全性 540 20.4.1 权限 541 20.4.2 代码组 550 20.4.3 策略的级别:Machine、User和Enterprise 557 20.5 安全策略的管理 558 20.5.1 代码组和权限的管理 561 20.5.2 安全性的启用和禁用 561 20.5.3 代码组的创建 562 20.5.4 代码组的删除 562 20.5.5 代码组权限的更改 563 20.5.6 权限集的创建和应用 564 20.5.7 使用强名发布代码 565 20.5.8 使用证书发布代码 567 20.6 小结 572 第21章 本地化 573 21.1 System.Globalization命名空间 573 21.1.1 Unicode问题 573 21.1.2 文化和区域 574 21.1.3 使用文化 578 21.1.4 排序 582 21.2 资源 584 21.2.1 创建资源文件 584 21.2.2 资源文件生成器 584 21.2.3 ResourceWriter 585 21.2.4 使用资源文件 585 21.2.5 System.Resources命名空间 590 21.3 使用Visual Studio的Windows Forms本地化示例 591 21.3.1 编程修改文化 595 21.3.2 使用定制资源文件 596 21.3.3 资源的自动回退 597 21.3.4 外包翻译 597 21.4 用ASP.NET本地化 598 21.5 用WPF本地化 600 21.5.1 WPF应用程序 600 21.5.2 .NET资源 601 21.5.3 用XAML本地化 602 21.6 定制的资源读取器 604 21.6.1 创建DatabaseResourceReader类 605 21.6.2 创建DatabaseResourceSet类 606 21.6.3 创建DatabaseResource-Manager类 607 21.6.4 DatabaseResourceReader的客户应用程序 608 21.7 创建定制文化 608 21.8 小结 609 第22章 事务处理 610 22.1 概述 610 22.1.1 事务处理阶段 611 22.1.2 ACID属性 611 22.2 数据库和实体类 612 22.3 传统的事务处理 614 22.3.1 ADO.NET事务处理 614 22.3.2 System.EnterpriseServices 615 22.4 System.Transactions 616 22.4.1 可提交的事务处理 618 22.4.2 事务处理的升级 620 22.4.3 依赖的事务处理 621 22.4.4 环境事务处理 623 22.5 隔离级别 630 22.6 定制资源管理器 631 22.7 Windows Vista和Windows Server 2008 的事务处理 637 22.8 小结 641 第23章 Windows服务 642 23.1 Windows服务 642 23.2 Windows服务的体系结构 643 23.2.1 服务程序 643 23.2.2 服务控制程序 645 23.2.3 服务配置程序 645 23.3 System.ServiceProcess命名空间 645 23.4 创建Windows服务 646 23.4.1 使用套接字的类库 646 23.4.2 TcpClient示例 649 23.4.3 Windows服务项目 652 23.4.4 线程和服务 656 23.4.5 服务的安装 656 23.4.6 安装程序 657 23.5 服务的监视和控制 661 23.5.1 MMC计算机管理 661 23.5.2 net.exe 662 23.5.3 sc.exe 663 23.5.4 Visual Studio Server Explorer 664 23.5.5 ServiceController类 664 23.6 故障排除 671 23.6.1 交互式服务 671 23.6.2 事件日志 672 23.7 电源事件 673 23.8 小结 673 第24章 互操作性 674 24.1 .NET和COM 674 24.1.1 元数据 675 24.1.2 释放内存 675 24.1.3 接口 675 24.1.4 方法绑定 677 24.1.5 数据类型 677 24.1.6 注册 678 24.1.7 线程 678 24.1.8 错误处理 679 24.1.9 事件处理 680 24.2 编组 680 24.3 在.NET客户程序中使用COM组件 681 24.3.1 创建COM组件 681 24.3.2 创建Runtime Callable Wrapper 686 24.3.3 使用RCW 687 24.3.4 可交互操作的主程序集 689 24.3.5 线程问题 689 24.3.6 添加连接点 689 24.3.7 在Windows窗体中使用ActiveX控件 692 24.3.8 在ASP.NET中使用COM对象 694 24.4 在COM客户程序中使用.NET组件 695 24.4.1 COM Callable Wrapper 695 24.4.2 创建.NET组件 695 24.4.3 创建类型库 696 24.4.4 COM互操作特性 698 24.4.5 COM注册 701 24.4.6 创建COM客户程序 701 24.4.7 添加连接点 703 24.4.8 用sink对象创建客户程序 704 24.4.9 在Internet Explorer中运行Windows窗体控件 705 24.5 平台调用 706 24.6 小结 709 第Ⅳ部分 数 据 第25章 文件和注册表操作 712 25.1 管理文件系统 712 25.1.1 表示文件和文件夹的.NET类 713 25.1.2 Path类 716 25.1.3 示例:文件浏览器 716 25.2 移动、复制和删除文件 721 25.2.1 FilePropertiesAndMovement示例 721 25.2.2 示例FilePropertiesAnd-Movement的代码 722 25.3 读写文件 724 25.3.1 读取文件 725 25.3.2 写入文件 726 25.3.3 流 727 25.3.4 缓存的流 729 25.3.5 使用FileStream类读写二进制文件 729 25.3.6 读写文本文件 734 25.4 读取驱动器信息 740 25.5 文件的安全性 742 25.5.1 从文件中读取ACL 743 25.5.2 从目录中读取ACL 744 25.5.3 添加和删除文件中的ACL项 745 25.6 读写注册表 746 25.6.1 注册表 747 25.6.2 .NET注册表类 749 25.6.3 SelfPlacingWindow示例 751 25.7 读写独立存储器 756 25.8 小结 760 第26章 .NET数据访问 761 26.1 ADO.NET概述 761 26.1.1 命名空间 762 26.1.2 共享类 762 26.1.3 数据库特定的类 763 26.2 使用数据库连接 764 26.2.1 管理连接字符串 765 26.2.2 高效地使用连接 767 26.2.3 事务处理 769 26.3 命令 770 26.3.1 执行命令 771 26.3.2 调用存储过程 775 26.4 快速数据访问:数据读取器 777 26.5 管理数据和关系:DataSet类 780 26.5.1 数据表 780 26.5.2 数据列 781 26.5.3 数据关系 786 26.5.4 数据约束 787 26.6 XML模式:用XSD生成代码 790 26.7 填充数据集 795 26.7.1 用数据适配器来填充 DataSet 796 26.7.2 从XML中给数据集填充数据 797 26.8 保存对数据集的修改 797 26.8.1 通过数据适配器进行更新 797 26.8.2 写入XML输出结果 800 26.9 使用ADO.NET 801 26.9.1 分层开发 801 26.9.2 生成SQL Server的键 802 26.9.3 命名约定 804 26.10 小结 806 第27章 LINQ to SQL 807 27.1 LINQ to SQL和Visual Studio 2008 808 27.1.1 使用LINQ to SQL调用Products表——创建控制台应用程序 809 27.1.2 添加LINQ to SQL类 809 27.1.3 O/R设计器概述 810 27.1.4 创建Product对象 811 27.2 对象映射到LINQ对象上 813 27.2.1 DataContext对象 814 27.2.2 Table对象 817 27.3 不使用O/R设计器工作 818 27.3.1 创建自己的定制对象 818 27.3.2 用定制的对象和LINQ进行查询 819 27.3.3 用查询限制所调用的列 820 27.3.4 使用列名 821 27.3.5 创建自己的DataContext对象 821 27.4 定制对象和O/R设计器 822 27.5 查询数据库 824 27.5.1 使用查询表达式 824 27.5.2 查询表达式 825 27.5.3 使用表达式过滤 825 27.5.4 连接 826 27.5.5 组合数据项 827 27.6 存储过程 828 27.7 小结 829 第28章 处理XML 830 28.1 .NET支持的XML标准 830 28.2 System.Xml命名空间 831 28.3 使用System.Xml类 832 28.4 读写流格式的XML 832 28.4.1 使用 XmlReader类 833 28.4.2 使用XmlReader类进行验证 836 28.4.3 使用XmlWriter类 838 28.5 在.NET中使用DOM 839 28.6 使用XPathNavigator 844 28.6.1 System.Xml.XPath命名空间 844 28.6.2 System.Xml.Xsl命名空间 849 28.6.3 调试XSLT 853 28.7 XML和ADO.NET 854 28.7.1 将ADO.NET数据转换为XML文档 854 28.7.2 把XML文档转换为ADO.NET数据 860 28.8 在XML中串行化对象 862 28.9 小结 871 第29章 LINQ to XML 872 29.1 LINQ to XML和.NET 3.5 873 29.1.1 创建XML文档的新对象 873 29.1.2 Visual Basic 2008开辟了另一条道路 873 29.1.3 命名空间和前缀 873 29.2 .NET Framework 3.5中的新XML对象 874 29.2.1 XDocument对象 874 29.2.2 XElement对象 874 29.2.3 XNamespace对象 875 29.2.4 XComment对象 877 29.2.5 XAttribute对象 878 29.3 使用LINQ查询XML文档 879 29.3.1 查询静态的XML文档 879 29.3.2 查询动态的XML文档 880 29.4 处理XML文档 882 29.4.1 读取XML文档 882 29.4.2 写入XML文档 883 29.5 使用LINQ to SQL和LINQto XML 884 29.5.1 建立LINQ to SQL组件 885 29.5.2 查询数据库,输出XML 885 29.6 小结 887 第30章 .NET编程和SQL Server 888 30.1 .NET运行库的主机 888 30.2 Microsoft.SqlServer.Server 890 30.3 用户定义的类型 891 30.3.1 创建UDT 891 30.3.2 使用UDT 896 30.3.3 在客户端代码中使用UDT 896 30.4 用户定义的合计函数 897 30.4.1 创建用户定义的合计函数 898 30.4.2 使用用户定义的合计函数 899 30.5 存储过程 900 30.5.1 创建存储过程 900 30.5.2 使用存储过程 901 30.6 用户定义的函数 902 30.6.1 创建用户定义的函数 902 30.6.2 使用用户定义的函数 903 30.7 触发器 903 30.7.1 创建触发器 904 30.7.2 使用触发器 905 30.8 XML数据类型 905 30.8.1 包含XML数据的表 905 30.8.2 读取XML值 906 30.8.3 数据的查询 909 30.8.4 XML数据修改语言(XML DML) 911 30.8.5 XML索引 912 30.8.6 强类型化的XML 913 30.9 小结 914 第Ⅴ部分 显 示 第31章 Windows窗体 916 31.1 创建Windows窗体应用程序 916 类层次结构 921 31.2 Control类 922 31.2.1 大小和位置 922 31.2.2 外观 923 31.2.3 用户交互操作 923 31.2.4 Windows功能 924 31.2.5 杂项功能 924 31.3 标准控件和组件 925 31.3.1 Button控件 925 31.3.2 CheckBox控件 926 31.3.3 RadioButton控件 927 31.3.4 ComboBox控件、ListBox控件和CheckedListBox控件 927 31.3.5 DateTimePicker控件 929 31.3.6 ErrorProvider组件 930 31.3.7 HelpProvider组件 931 31.3.8 ImageList组件 931 31.3.9 Label控件 931 31.3.10 ListView控件 932 31.3.11 PictureBox控件 933 31.3.12 ProgressBar控件 934 31.3.13 TextBox控件、RichTextBox控件与MaskedTextBox控件 934 31.3.14 Panel控件 935 31.3.15 FlowLayoutPanel和TableLayoutPanel控件 936 31.3.16 SplitContainer控件 936 31.3.17 TabControl控件和TabPages控件 937 31.3.18 ToolStrip控件 937 31.3.19 MenuStrip控件 940 31.3.20 ContextMenuStrip控件 940 31.3.21 ToolStripMenuItem控件 940 31.3.22 ToolStripManager类 941 31.3.23 ToolStripContainer控件 941 31.4 窗体 941 31.4.1 Form类 941 31.4.2 多文档界面 946 31.4.3 定制控件 947 31.5 小结 957 第32章 数据绑定 958 32.1 DataGridView控件 958 32.1.1 显示列表数据 958 32.1.2 数据源 960 32.2 DataGridView类的层次结构 968 32.3 数据绑定 970 32.3.1 简单的绑定 971 32.3.2 数据绑定对象 971 32.4 Visual Studio和数据访问 975 32.4.1 创建一个连接 975 32.4.2 选择数据 978 32.4.3 更新数据源 978 32.4.4 其他常见的要求 979 32.5 小结 986 第33章 使用GDI+绘图 987 33.1 理解绘图规则 987 33.1.1 GDI和GDI+ 987 33.1.2 绘制图形 989 33.1.3 使用OnPaint()绘制图形 992 33.1.4 使用剪切区域 993 33.2 测量坐标和区域 995 33.2.1 Point和PointF结构 995 33.2.2 Size和SizeF结构 996 33.2.3 Rectangle和RectangleF结构 997 33.2.4 Region 998 33.3 调试须知 999 33.4 绘制可滚动的窗口 1000 33.5 世界、页面和设备坐标 1004 33.6 颜色 1005 33.6.1 红绿蓝(RGB)值 1005 33.6.2 命名的颜色 1006 33.6.3 图形显示模式和安全的调色板 1006 33.6.4 安全调色板 1007 33.7 画笔和钢笔 1007 33.7.1 画笔 1008 33.7.2 钢笔 1008 33.8 绘制图形和线条 1009 33.9 显示图像 1011 33.10 处理图像时的问题 1013 33.11 绘制文本 1014 33.12 简单的文本示例 1014 33.13 字体和字体系列 1015 33.14 示例:枚举字体系列 1017 33.15 编辑文本文档:CapsEditor示例 1019 33.15.1 Invalidate()方法 1023 33.15.2 计算项和文档的大小 1024 33.15.3 OnPaint() 1025 33.15.4 坐标转换 1026 33.15.5 响应用户的输入 1028 33.16 打印 1030 33.17 小结 1035 第34章 Windows Presentation Foundation 1036 34.1 概述 1036 34.1.1 XAML 1036 34.1.2 设计人员和开发人员的合作 1041 34.1.3 类层次结构 1042 31.1.4 命名空间 1043 34.2 形状 1044 34.3 变换 1047 34.4 笔刷 1047 34.4.1 SolidColorBrush 1048 34.4.2 LinearGradientBrush 1048 34.4.3 RadialGradientBrush 1049 34.4.4 DrawingBrush 1049 34.4.5 ImageBrush 1050 34.4.6 VisualBrush 1050 34.5 控件 1052 34.5.1 简单控件 1052 34.5.2 内容控件 1052 34.5.3 有标题的内容控件 1054 34.5.4 项控件 1055 34.5.5 带标题的项控件 1055 34.6 布局 1056 34.6.1 StackPanel 1056 34.6.2 WrapPanel 1057 34.6.3 Canvas 1057 34.6.4 DockPanel 1058 34.6.5 Grid 1059 34.7 事件处理 1060 34.8 样式、模板和资源 1061 34.8.1 样式 1061 34.8.2 资源 1062 34.8.3 创建列表框的样式 1074 34.9 小结 1079 第35章 高级WPF 1080 35.1 数据绑定 1080 35.1.1 概述 1080 35.1.2 用XAML绑定 1081 35.1.3 简单对象的绑定 1083 35.1.4 对象数据提供程序 1085 35.1.5 列表绑定 1087 35.1.6 绑定到XML上 1095 35.1.7 绑定的验证 1097 35.2 命令绑定 1101 35.3 动画 1105 35.3.1 时间线 1106 35.3.2 触发器 1109 35.3.3 故事板 1111 35.4 在WPF中添加3D特性 1112 35.5 Windows窗体集成 1119 35.5.1 Windows窗体中的WPF控件 1119 35.5.2 WPF应用程序中的Windows窗体控件 1121 35.6 WPF浏览器应用程序 1122 35.7 小结 1122 第36章 插件 1124 36.1 System.AddIn体系结构 1124 36.1.1 插件的问题 1125 36.1.2 管道体系结构 1125 36.1.3 发现 1126 36.1.4 激活和隔离 1127 36.1.5 合同 1129 36.1.6 生存期 1130 36.1.7 版本问题 1131 36.2 插件示例 1131 36.2.1 计算器合同 1132 36.2.2 计算器插件视图 1133 36.2.3 计算器插件适配器 1133 36.2.4 计算器插件 1135 36.2.5 计算器主机视图 1136 36.2.6 计算机主机适配器 1136 36.2.7 计算器主机 1138 36.2.8 其他插件 1141 36.3 小结 1142 第37章 ASP.NET页面 1143 37.1 ASP.NET概述 1143 37.2 ASP.NET Web窗体 1145 37.2.1 ASP.NET代码模型 1148 37.2.2 ASP.NET服务器控件 1149 37.3 ADO.NET和数据绑定 1163 37.3.1 更新会议登记应用程序 1163 37.3.2 数据绑定的更多内容 1169 37.4 应用程序配置 1175 37.5 小结 1177 第38章 ASP.NET开发 1178 38.1 用户控件和定制控件 1179 38.1.1 用户控件 1179 38.1.2 PCSDemoSite中的用户控件 1185 38.1.3 定制控件 1185 38.2 Master页面 1189 38.2.1 在Web页面中访问Master页面 1191 38.2.2 嵌套的Master页面 1192 38.2.3 PCSDemoSite中的Master页面 1192 38.3 站点导航 1194 38.4 安全性 1197 38.4.1 使用安全向导添加Forms身份验证功能 1197 38.4.2 实现登录系统 1200 38.4.3 Web 登录服务器控件 1201 38.4.4 保护目录 1202 38.4.5 PCSDemoSite中的安全性 1202 38.5 主题 1204 38.5.1 把主题应用于页面 1204 38.5.2 定义主题 1205 38.5.3 PCSDemoSite中的主题 1206 38.6 Web Parts 1209 38.6.1 Web Parts应用程序组件 1209 38.6.2 Web Parts示例 1211 38.7 小结 1217 第39章 ASP.NET AJAX 1218 39.1 Ajax的概念 1218 39.2 ASP.NET AJAX 1220 39.2.1 核心功能 1221 39.2.2 ASP.NET AJAX Control Toolkit 1223 39.3 使用ASP.NET AJAX 1224 39.3.1 ASP.NET AJAX网站示例 1224 39.3.2 支持ASP.NET AJAX的网站配置 1227 39.3.3 添加ASP.NET AJAX功能 1230 39.3.4 使用AJAX库 1236 39.4 小结 1244 第40章 Visual Studio Tools for Office 1246 40.1 VSTO概述 1246 40.1.1 项目类型 1247 40.1.2 项目特性 1249 40.2 VSTO基础 1250 40.2.1 Office对象模型 1250 40.2.2 VSTO命名空间 1251 40.2.3 主机项和主机控件 1251 40.2.4 基本的VSTO项目结构 1253 40.2.5 Globals类 1255 40.2.6 事件处理 1256 40.3 建立VSTO解决方案 1256 40.3.1 管理应用程序级插件 1257 40.3.2 与应用程序和文档交互操作 1258 40.3.3 UI的定制 1259 40.4 示例应用程序 1264 40.5 VBA交互操作性 1273 40.6 小结 1276 第Ⅵ部分 通 信 第41章 访问Internet 1278 41.1 WebClient类 1279 41.1.1 下载文件 1279 41.1.2 基本的Web客户示例 1279 41.1.3 上传文件 1280 41.2 WebRequest类和WebResponse类 1281 41.3 把输出结果显示为HTML页面 1284 41.3.1 在应用程序中进行简单的Web浏览 1285 41.3.2 启动Internet Explorer实例 1286 41.3.3 给应用程序提供更多的IE类型特性 1287 41.3.4 使用WebBrowser控件打印 1292 41.3.5 显示请求页面的代码 1292 41.3.6 WebRequest和WebResponse的层次结构 1293 41.4 实用工具类 1294 41.4.1 URI 1294 41.4.2 IP地址和DNS名称 1295 41.5 较低层的协议 1297 41.6 小结 1307 第42章 Windows Communication Foundation 1308 42.1 WCF概述 1308 42.1.1 SOAP 1309 42.1.2 WSDL 1310 42.1.3 JSON 1310 42.2 简单的服务和客户 1311 42.2.1 服务合同 1312 42.2.2 服务的实现 1312 42.2.3 WCF服务主机和WCF测试客户机 1313 42.2.4 定制服务主机 1315 42.2.5 WCF客户程序 1316 42.2.6 诊断 1317 42.3 合同 1319 42.3.1 数据合同 1320 42.3.2 版本问题 1320 42.3.3 服务合同 1321 42.3.4 消息合同 1322 42.4 服务的实现 1322 42.5 绑定 1328 42.6 主机 1330 42.6.1 定制主机 1330 42.6.2 WAS主机 1331 42.7 客户程序 1332 42.8 双向通信 1333 42.9 小结 1336 第43章 Windows Workflow Foundation 1337 43.1 Hello World示例 1337 43.2 活动 1338 43.2.1 IfElseActivity 1339 43.2.2 ParallelActivity 1340 43.2.3 CallExternalMethodActivity 1342 43.2.4 DelayActivity 1342 41.2.5 ListenActivity 1343 43.2.6 活动的执行模型 1344 43.3 定制的活动 1344 43.3.1 活动的有效性验证 1346 43.3.2 主题和设计器 1347 43.3.3 ActivityToolboxItem和图标 1348 43.3.4 定制的复合活动 1350 43.4 工作流 1356 43.4.1 系列工作流 1357 43.4.2 状态机工作流 1357 43.4.3 给工作流传送参数 1359 43.4.4 从工作流中返回结果 1360 43.4.5 将参数绑定到活动上 1361 43.5 工作流运行库 1362 43.6 工作流服务 1362 43.6.1 持续服务 1364 43.6.2 跟踪服务 1365 43.6.3 定制服务 1367 43.7 与WCF集成 1368 43.8 保存工作流 1370 43.9 工作流设计器 1372 43.10 小结 1372 第44章 Enterprise Services 1373 44.1 概述 1373 44.1.1 Enterprise Services简史 1374 44.1.2 使用Enterprise Services的场合 1374 44.1.3 环境 1375 44.1.4 自动的事务处理 1375 44.1.5 分布式事务处理 1375 44.1.6 对象池 1376 44.1.7 基于角色的安全性 1376 44.1.8 排队的组件 1376 44.1.9 松散藕合的事件 1376 44.2 创建简单的COM+应用程序 1377 44.2.1 类ServicedComponent 1377 44.2.2 标记程序集 1377 44.2.3 程序集的属性 1378 44.2.4 创建组件 1378 44.3 部署 1380 44.3.1 自动部署 1380 44.3.2 手工部署 1380 44.3.3 创建安装软件包 1380 44.4 Component Services浏览器 1381 44.5 客户应用程序 1383 44.6 事务处理 1384 44.6.1 事务处理的属性 1384 44.6.2 事务处理的结果 1385 44.7 示例应用程序 1386 44.7.1 实体类 1387 44.7.2 OrderControl组件 1388 44.7.3 OrderData组件 1389 44.7.4 OrderLineData组件 1391 44.7.5 客户应用程序 1392 44.8 集成WCF和Enterprise Services 1394 44.8.1 WCF服务Fa?ade 1394 44.8.2 客户程序 1397 44.9 小结 1398 第45章 消息队列 1399 45.1 概述 1399 45.1.1 使用Message Queuing的场合 1400 45.1.2 Message Queuing特性 1401 45.2 Message Queuing产品 1401 45.3 Message Queuing结构 1402 45.3.1 消息 1402 45.3.2 消息队列 1403 45.4 Message Queuing管理工具 1404 45.4.1 创建消息队列 1404 45.4.2 消息队列属性 1404 45.5 Message Queuing的编程实现 1405 45.5.1 创建消息队列 1406 45.5.2 查找队列 1406 45.5.3 打开已知的队列 1407 45.5.4 发送消息 1408 45.5.5 接收消息 1410 45.6 课程订单应用程序 1412 45.6.1 课程订单类库 1413 45.6.2 课程订单消息发送程序 1413 45.6.3 发送优先级和可恢复的消息 1415 45.6.4 课程订单消息接收程序 1416 45.7 接收结果 1419 45.7.1 确认队列 1419 45.7.2 响应队列 1420 45.8 事务队列 1420 45.9 消息队列和WCF 1421 45.9.1 带数据合同的实体类 1422 45.9.2 WCF服务合同 1423 45.9.3 WCF消息接收程序 1424 45.9.4 WCF消息发送程序 1426 45.10 消息队列的安装 1427 45.11 小结 1428 第46章 目录服务 1429 46.1 Active Directory的体系结构 1430 46.1.1 特性 1430 46.1.2 Active Directory的概念 1430 46.1.3 Active Directory数据的特性 1434 46.1.4 模式 1434 46.2 Active Directory的管理工具 1435 46.2.1 Active Directory Users and Computers工具 1436 46.2.2 ADSI Edit工具 1437 46.3 Active Directory编程 1438 46.3.1 System.DirectoryServices命名空间中的类 1439 46.3.2 绑定 1439 46.3.3 获取目录项 1443 46.3.4 对象集合 1444 46.3.5 缓存 1445 46.3.6 创建新对象 1446 46.3.7 更新目录项 1446 46.3.8 访问内部的ADSI对象 1447 46.3.9 在Active Directory中搜索 1448 46.4 搜索用户对象 1452 46.4.1 用户界面 1452 46.4.2 获取模式命名环境 1453 46.4.3 获取User类的属性名 1453 46.4.4 搜索用户对象 1454 46.5 账户管理 1456 46.5.1 显示用户信息 1457 46.5.2 创建用户 1457 46.5.3 重置密码 1458 46.5.4 创建组 1458 46.5.5 在组中添加用户 1459 46.5.6 查找用户 1459 46.6 DSML 1460 46.6.1 命名空间System.Directory-Services.Protocols中的类 1460 46.6.2 用DSML搜索Active Directory对象 1461 46.7 小结 1462 第47章 对等网络 1463 47.1 P2P概述 1463 47.1.1 客户机-服务器体系结构 1463 47.1.2 P2P体系结构 1464 47.1.3 P2P体系结构的挑战 1465 47.1.4 P2P术语 1466 47.1.5 P2P解决方案 1466 47.2 Microsoft Windows Peer-to-Peer Networking 1466 47.2.1 Peer Name Resolution Protocol(PNRP) 1467 47.2.2 People Near Me 1469 47.3 建立P2P应用程序 1470 47.3.1 System.Net.PeerToPeer 1470 47.3.2 System.Net.PeerTo-Peer.Collaboration 1475 47.4 小结 1478 第48章 Syndication 1479 48.1 System.ServiceModel.Syndication命名空间概述 1479 48.2 Syndication阅读器 1480 48.3 提供SyndicationFeed 1482 48.4 小结 1487 第Ⅶ部分 附 录 附录A ADO.NET Entity Framework 1490 附录B C#、Visual Basic和C++/CLI 1512 附录C Windows Vista和Windows Server 2008 1541 · · · · · · () |
文字却通俗易懂
值得一看
喜欢
五星推荐