当前位置:首页 > 工业技术
C#高级编程  第6版
C#高级编程  第6版

C#高级编程 第6版PDF电子书下载

工业技术

  • 电子书积分:37 积分如何计算积分?
  • 作 者:(美)内格尔(Nagel.C)等著;李铭翻译;黄静审校
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2008
  • ISBN:9787302184959
  • 页数:1557 页
图书介绍:本书内容有Windows应用程序和Windows服务,用C#处理XML的技巧,用ADO.NET访问数据库,用LINQ轻松地处理SQL Server数据库和XML。
《C#高级编程 第6版》目录

第Ⅰ部分 C#语言 2

第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<T> 220

9.7.2 EventHandler<TEventArgs> 222

9.7.3 ArraySegment<T> 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<r>的查询 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 360

第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

第Ⅲ部分 基类库 420

第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和WindowsServer 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

第Ⅳ部分 数据 712

第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<TEntity>对象 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使用XtnlReader类进行验证 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和LINQ to 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

第Ⅴ部分 显示 916

第31章 Windows窗体 916

31.1创建Windows窗体应用程序 916

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

第Ⅵ部分 通信 1278

第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服务Facade 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

第Ⅶ部分 附录 1490

附录A ADO.NET Entiry Framework 1490

附录B C#、Visual Basic和C++/CLI 1512

附录C Windows Vista和Windows Server 2008 1541

相关图书
作者其它书籍
返回顶部