《C#典型模块与项目实战大全》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:丁士锋编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302261544
  • 页数:703 页
图书介绍:本书共18章,分为3篇,涵盖的主要内容有:C#4.0语法精深解析、Silverlight与ReportViewer报表查看模块、XML阅读器模块等。

第1篇 C#项目开发基础 2

第1章 .NET4.0体系结构 2

1.1 C#与.NET的关系 2

1.1.1 .NET Framework 4.0简介 2

1.1.2 LINQ语言集成查询 4

1.1.3 WPF表现层技术简介 5

1.1.4 WCF通信层技术简介 5

1.1.5 WF工作流基础简介 6

1.1.6 Windows CardSpace技术简介 7

1.2公共语言运行时 7

1.2.1通用语言基础架构CLI 8

1.2.2 CLR的作用 8

1.3 C#4.0的新增特性 9

1.3.1 C# 4.0面向对象编程简介 9

1.3.2强数据类型 11

1.3.3动态类型绑定 12

1.3.4泛型类型的协变(covariant)和逆变(contravariant) 13

1.3.5命名参数和可选参数 16

1.4使用Visual Studio 2010集成化开发环境 16

1.4.1 Visual Studio 2010的新增特性 17

1.4.2开始页面 17

1.4.3多目标支持的新增对话框 18

1.4.4可视化设计类 18

1.4.5增强的扩展管理器 18

1.5小结 20

第2章 C#4.0语法精深解析 21

2.1数据类型 21

2.1.1值类型 22

2.1.2引用类型 23

2.1.3可空类型 24

2.1.4隐式类型 26

2.1.5枚举类型 26

2.1.6结构类型 27

2.2类、命名空间和程序集 28

2.2.1命名空间 28

2.2.2程序集 29

2.2.3类和对象 30

2.3继承和多态 31

2.3.1继承的原理 32

2.3.2多态的实现 33

2.4方法和函数 34

2.4.1方法和函数的定义 34

2.4.2方法的参数 35

2.4.3方法的重载 37

2.4.4静态方法 38

2.5泛型与集合 39

2.5.1 .NET提供的集合类型 39

2.5.2什么是泛型 43

2.5.3 .NET泛型集合类 44

2.6小结 47

第2篇 典型模块开发 50

第3章 Silverlight报表查看模块(Silverlight 4与ReportViewer开发报表应用) 50

3.1报表查看模块概述 50

3.1.1 Microsoft ReportViewer控件简介 50

3.1.2报表查看器模块预览 51

3.2 Model与ViewModel层的实现 52

3.2.1实现调用Web服务的 Model层 53

3.2.2异步调用Web服务 55

3.2.3视图模型ViewMode 55

3.2.4设置服务器端报表路径 57

3.2.5 ViewModel中的PropertyChanged属性变更事件 58

3.3 Silverlight用户界面功能的实现 60

3.3.1使用Blend 4创建Silverlight用户主界面 60

3.3.2绑定按钮事件到ViewModel 61

3.3.3设置性别选择的ComboBox控件 63

3.3.4使用Fluid UI实现飞行的人员信息效果 64

3.3.5实现HTMLPopupWindow类 67

3.3.6实现RangeSlider用户控件 68

3.3.7在RangeSlider中使用Slider控件 71

3.4实现ASP.NET Web服务与报表 72

3.4.1定义ASP.NET Web服务 72

3.4.2创建RDLC报表 74

3.4.3使用ReportViewer报表查看器控件 77

3.4.4定制报表的输出 77

3.4.5输出报表为PDF文件 78

3.4.6使用LINQ搜索数据 80

3.4.7将LINQ查询转换为DataTable对象 81

3.4.8用ShowReportViewer显示报表页面 82

3.5关键技术讲解 83

3.5.1理解ReportViewer控件 83

3.5.2在Silverlight客户端控制浏览器 84

3.6小结 85

第4章 实现XML阅读器(Visual Studio风格的用户界面) 86

4.1 XML阅读器概述 86

4.1.1 Visual Studio风格的用户界面概述 87

4.1.2大容量XML文件的读取 88

4.1.3 XML阅读器预览 88

4.2 Visual Studio风格的用户界面实现 90

4.2.1可停靠的主界面设计 90

4.2.2支持拖放的子窗口 91

4.2.3限制子窗口的停放位置 93

4.2.4保存和加载主窗体状态 94

4.2.5实现文件拖放效果 96

4.3快速XML阅读查看界面实现 98

4.3.1实现可停靠的文档界面 98

4.3.2使用多线程加载XML文档 99

4.3.3实现文档显示与加载同步进行 101

4.3.4计算虚拟滚动条的显示位置 102

4.3.5实现XML的打印与打印预览功能 103

4.3.6多线程搜索功能的实现 107

4.3.7关联多线程搜索事件 109

4.4实现XML读取与分析的核心功能 111

4.4.1实现QuickXmlReader类 112

4.4.2实现XML快速读取类QuickStreamReader 113

4.4.3快速搜索类QuickXmlSearch的实现 115

4.5深入理解DockPanel控件 117

4.6小结 119

第5章 可拖放文件管理模块(Silverlight 4和MVVM模式应用) 120

5.1 MVVM简介 120

5.1.1 MVVM的实现方式 121

5.1.2 FileManager的系统结构 121

5.2创建ASP.NET Web项目 122

5.2.1实现文件上传实体类 122

5.2.2实现文件上传功能 124

5.2.3实现文件上传HTTP扩展 126

5.2.4实现文件下载功能 127

5.2.5创建Web服务获取文件列表 130

5.3使用MVVM模式开发Silverlight客户端 132

5.3.1实现ICommand接口 132

5.3.2实现Model模型 133

5.3.3实现ViewModel模型 136

5.3.4在ViewModel中实现文件拖放功能 138

5.4用户界面功能实现 141

5.4.1使用Blend 4构建主用户界面 141

5.4.2创建文件拖放效果 145

5.5关键技术讲解 147

5.5.1再议MVVM模式 147

5.5.2 Expression Blend 4功能介绍 147

5.6小结 149

第6章 网络视频播放器(Silverlight多媒体技术) 150

6.1 Silverlight多媒体简介 150

6.1.1 MediaElement元素的使用 151

6.1.2 Expression Encoder概述 152

6.2实现Model和ViewModel 154

6.2.1实现获取文件列表的Web服务 154

6.2.2实现Model模型 155

6.2.3实现ViewModel模型 158

6.2.4操纵MediaElement实现视频控制 161

6.2.5设置MediaElement的全屏播放 166

6.3使用Expression Blend 4设计UI 168

6.3.1播放界面设计 168

6.3.2绑定MediaElement到ViewModel中的属性和命令 169

6.3.3绑定其他UI元素到ViewModel中 172

6.4关键技术讲解 173

6.4.1关于RX Framework 173

6.4.2 ViewModel中的Command详解 175

6.5小结 176

第7章 再造俄罗斯方块(用Silverlight开发游戏) 177

7.1 Silverlight游戏架构设计 177

7.1.1游戏运行原理 178

7.1.2基于Silverlight的游戏架构设计 178

7.1.3游戏解决方案项目介绍 179

7.2游戏核心功能的实现 180

7.2.1方格的设计 180

7.2.2形状方块BaseBricksArray基类的实现 182

7.2.3形状方块BaseShape基类的实现 185

7.2.4方块的旋转功能实现 188

7.2.5定制方块字母形状的实现 190

7.2.6 BrickBoard容器类的实现 191

7.2.7 BrickBoard容器类重载的构造函数 192

7.2.8初始化游戏方块与形状 192

7.2.9确定方块可放置位置 194

7.2.10自动消行功能的实现 196

7.2.11处理方块的移动行为 198

7.2.12 BricksPresenter控制器类的实现 200

7.3 Silverlight项目MVVM模式实现 202

7.3.1定义IView接口 202

7.3.2实现IView接口 202

7.3.3显示玩家得分功能实现 205

7.3.4实现供UI绑定的属性 207

7.3.5实现ICommand接口提供命令绑定 207

7.4实现UI界面 209

7.4.1设置游戏主界面 209

7.4.2使用样式和模板定义显示方块 212

7.5关键技术讲解 214

7.5.1什么是IOC控制反转 214

7.5.2理解Silverlight样式和模板 214

7.6小结 215

第8章 图书阅读器(WPF用户控件技术) 216

8.1图书阅读器系统架构 216

8.1.1使用图书阅读器读书 217

8.1.2系统架构设计 219

8.1.3项目文件夹介绍 219

8.2系统核心类的实现 220

8.2.1实现图书目录Catalog类 220

8.2.2加载书签信息 223

8.2.3加载图书封面 224

8.2.4多线程图书搜索 226

8.2.5保存图书信息 229

8.2.6刷新图书列表 229

8.2.7定义图书接口IBook 230

8.2.8图书基类BaseBook 231

8.2.9图书页面接口IBookItem的定义 234

8.2.10实现Rar压缩文件格式的图书 234

8.2.11多线程提取图书封面 236

8.2.12从压缩文件中提取图书 237

8.2.13使用缓存提升加载速度 238

8.2.14实现缓存管理核心类 240

8.2.15 实现自定义的异常处理 243

8.3设计BookReader用户主界面 244

8.3.1设计系统主界面 244

8.3.2实现主窗口样式绑定 246

8.3.3实现图书列表界面 247

8.3.4实现图书阅读界面 251

8.4实现用户界面功能 252

8.4.1实现工具按钮事件 252

8.4.2实现上下文菜单事件处理 256

8.4.3创建PageViewer用户控件 258

8.4.4 PageViewer控件属性定义 259

8.4.5定义PageViewer控件路由事件 260

8.4.6处理屏幕滚动 261

8.4.7控制鼠标滚轮 263

8.4.8实现页面拖动效果 264

8.4.9创建放大器用户控件 266

8.4.10在PageViewer中加载放大器 268

8.5关键技术讲解 269

8.5.1在WPF中使用多线程 269

8.5.2 WPF中的事件路由技术 270

8.6小结 271

第9章 多媒体管理工具(用WPF打造动感用户界面) 272

9.1 WPF用户界面设计概述 272

9.1.1理解WPF用户界面设计 273

9.1.2多媒体管理工具使用预览 273

9.2使用WPF实现用户界面 274

9.2.1实现用户主界面布局 274

9.2.2实现鼠标拖动效果 275

9.2.3实现主界面ViewModel 277

9.2.4实现面包屑管理服务 279

9.2.5初始化面包屑管理服务 282

9.3面包屑视图控件的实现 283

9.3.1面包屑管理器用户界面的实现 283

9.3.2使用转场控件实现转场效果 285

9.3.3使用滚动列表控件FrictionScrollViewer 286

9.3.4定义面包屑管理器用户控件 288

9.3.5添加面包屑 288

9.3.6移除面包屑 290

9.3.7转场特效的具体实现 292

9.3.8使用自定义的转换器 294

9.3.9实现缩略图面板 295

9.4实现音乐和图片视图控件 297

9.4.1音乐视图控件的布局 298

9.4.2用ListBox显示音乐信息 299

9.4.3音乐视图代码实现 301

9.4.4实现图片视图控件 302

9.5关键技术讲解 304

9.5.1理解WPF的依赖属性和附加属性 304

9.5.2使用WPF数据模板定义控件呈现 305

9.6小结 306

第10章 基于WCF的Silverlight绘图聊天程序(WCF技术实战) 307

10.1 WCF技术概述 307

10.1.1 WCF技术的开发模型 307

10.1.2绘图聊天程序的预览效果 308

10.2 WCF服务器端功能的设计 309

10.2.1定义WCF服务契约 309

10.2.2定义WCF回调契约 311

10.2.3实现服务契约 311

10.2.4客户端注册功能的实现 312

10.2.5绘图方法的实现 315

10.2.6配置WCF服务器 316

10.3 Silverlight客户端的设计 319

10.3.1添加对WCF服务的引用 319

10.3.2设计主用户界面 320

10.3.3实现用户注册到服务器功能 322

10.3.4实现DuplexClientHelper服务帮助类 325

10.3.5响应NotifyReceived事件更新客户端 326

10.3.6处理客户端登录事件 327

10.3.7实现客户端绘图功能 328

10.3.8使用DrawingArea类绘图 330

10.3.9处理Canvas鼠标事件 330

10.3.10实现绘图处理代码 332

10.3.11在多个客户端之间同步绘图数据 335

10.3.12使用CanvasHelper类将绘图数据打包 336

10.3.13使用JsonSerializerHelper转换Json数据 337

10.3.14使用客户端回调功能更新绘图板 339

10.3.15实现聊天记录的发送 342

10.4关键技术讲解 343

10.4.1使用WCF服务的双向通信 343

10.4.2理解WCF服务的线程模型 344

105小结 345

第11章 推箱子游戏(WPF技术实战) 346

11.1推箱子游戏概述 346

11.1.1游戏运行原理 346

11.1.2示例游戏效果预览 347

11.2基于MVVM的游戏逻辑实现 349

11.2.1实现全局控制类Game 349

11.2.2 Game类的属性定义 350

11.2.3加载游戏关卡 352

11.2.4使用SynchronizationContext处理线程同步 354

11.2.5设置游戏完成状态 355

11.2.6与游戏相关的一些方法 356

11.2.7实现关卡类Level 357

11.2.8使用Level类的Load()方法加载关卡数据 359

11.2.9根据地图构建方块 360

11.2.10实现游戏方格对象 361

11.2.11更新方块的内容 363

11.2.12实现游戏方格内容对象 365

11.2.13实现箱子对象 367

11.2.14实现移动、跳转和推送方法 368

11.2.15 Command模式的实现 370

11.2.16 CommandManager类与UI交互 373

11.2.17定义Actor角色类 374

11.2.18实现Actor的单步移动操作 375

11.2.19实现Actor的跳转操作 379

11.3实现游戏用户界面 380

11.3.1使用Expression Design设计图案 381

11.3.2实现用户主界面 382

11.3.3程序启动时加载关卡 384

11.3.4更新游戏界面的显示 384

11.3.5处理方块单击事件 387

11.3.6使用Command模式发送命令请求 387

11.3.7使用MultiDataTrigger改变方块外观 389

11.4关键技术讲解 392

11.4.1理解SynchronizationContext对象 392

11.4.2使用样式触发器动态更改控件外观 394

11.5小结 395

第12章 文件夹同步服务程序(WCF和Windows服务) 396

12.1文件夹同步服务程序概述 396

12.1.1软件实现的功能 396

12.1.2程序使用效果预览 397

12.1.3项目文件夹介绍 399

12.2实现文件同步核心功能 400

12.2.1实现文件夹同步项 400

12.2.2文件夹同步项SyncItem类 401

12.2.3实现后台同步线程 403

12.2.4实现文件夹同步项集合对象 405

12.2.5实现文件比较对象FileInfoEx 406

12.2.6实现文件同步操作列表对象 408

12.2.7实现文件同步Update()方法 410

12.2.8实现文件备份操作 413

12.2.9实现配置类SyncSettings 414

12.2.10从XML文件中加载配置文件 417

12.2.11将配置保存为XML文件 418

12.3文件同步Windows服务技术实现 419

12.3.1创建Windows服务项目 420

12.3.2重载OnStart服务方法 421

12.3.3实现UpdateThread线程方法 423

12.3.4实现服务自安装 425

12.4实现使用命名管道的WCF服务 427

12.4.1定义和实现服务契约 427

12.4.2创建命名管道服务器和客户端 429

12.5实现监控和配置项目 431

12.5.1用户主界面设计 431

12.5.2在主窗口中启动或停止服务 433

12.5.3实现配置服务窗口 434

12.5.4动态安装和卸载服务功能的实现 436

12.5.5保存与删除同步项 438

12.5.6实现添加与编辑同步项窗口 439

12.5.7使用同步项更新用户界面 441

12.5.8验证同步项数据 442

12.6关键技术讲解 443

12.6.1使用WCF开发命名管道程序 443

12.6.2使用程序代码控制Windows服务 444

12.7小结 446

第13章 安全删除小管家(Windows文件管理技术) 447

13.1安全删除小管家概述 447

13.1.1使用SDelete程序安全删除文件 447

13.1.2程序使用预览 449

13.2程序核心功能实现 450

13.2.1使用.NET互操作获取文件信息 451

13.2.2使用ExplorerFileInfo类保存文件信息 453

13.2.3实现应用程序日志类Logger 455

13.2.4 SDelete执行封装类FileCleaner 456

13.2.5调用SDelete执行安全删除 458

13.2.6 用户选项类UserOptions的实现 460

13.2.7保存和加载选项文件 461

13.3用户界面的实现 464

13.3.1实现用户主窗体 464

13.3.2初始化树视图 465

13.3.3使用.NET 4.0任务和延续任务填充TreeView控件 467

13.3.4在后台线程更新TreeView控件 468

13.3.5使用FileSystemWatcher监控文件变更 470

13.3.6使用并行任务获取文件列表 471

13.3.7实现ListView文件拖拽操作 473

13.3.8安全删除所选择的文件 474

13.3.9使用BackgroundWorker控件异步删除文件 475

13.3.10响应BackgroundWorker控件事件 477

13.3.11实现ListView的自定义排序 478

13.3.12实现单实例应用程序 480

13.4理解.NET 4.0并行编程 484

13.5小结 486

第14章 账单管理程序(WPF分层架构实战) 487

14.1账单管理程序概述 487

14.1.1理解软件分层架构 487

14.1.2账单管理程序预览 488

14.2数据访问层的实现 490

14.2.1实现数据访问管理者接口 490

14.2.2定义数据访问XML架构 492

14.2.3实现数据访问实体类 495

14.2.4实现XML数据访问类 498

14.2.5实现单件模式提供单实例访问 500

14.2.6实现XML文件的加载与创建 501

14.2.7使用读取/写入线程模式读取账单数据 503

14.2.8使用读取/写入线程模式新增账单数据 505

14.2.9使用读取/写入线程模式删除账单数据 506

14.2.10使用读取/写入线程模式更新账单数据 507

14.2.11 XML数据访问层设置项 508

14.3业务逻辑层的实现 509

14.3.1实现业务逻辑层契约接口 510

14.3.2实现BillsManager业务逻辑处理类 511

14.3.3实现业务逻辑方法 513

14.4表示层的实现 514

14.4.1定义主用户界面 515

14.4.2定义IDataGridProxy操作代理 517

14.4.3 RecentBillsDataGridProxy类操纵DataGrid 518

14.4.4处理属性与集合变更通知 519

14.4.5更新数据源 520

14.4.6实现账单图表显示功能 522

14.4.7定义ICharting接口 524

14.4.8使用策略模式设置图表显示外观 526

14.4.9动态变更图表类型 528

14.4.10实现账单管理多语言显示功能 529

14.4.11使用ResourceManager设置界面显示语言 532

14.5使用BooleanSwitch和Trace记录程序运行信息 533

14.6小结 536

第15章 用WPF打造幻灯片式图片浏览器(WPF用户界面技术) 537

15.1图片浏览器用户界面设计 537

15.1.1使用Expression Design设计用户界面图形 538

15.1.2定义导航面板用户控件 539

15.1.3导航按钮的布局 540

15.1.4使用MultiBinding控制面板显示 542

15.1.5实现多值转换器 543

15.1.6定义导航按钮命令 545

15.1.7实现图片文件夹选择功能 547

15.1.8使用样式选择器动态改变样式 549

15.1.9使用模板选择器动态改变模板 550

15.1.10定制TreeViewItem的显示样式 551

15.1.11定制TreeViewItem的控件模板 553

15.1.12实现自定义控件InformationBaseCheckBox 554

15.1.13实现图片的幻灯播放效果 556

15.1.14使用Timer类控制播放定时 557

15.1.15设计图像显示区域 560

15.1.16根据BitmapMetadata元数据旋转图像 562

15.2图片浏览器的核心逻辑实现 563

15.2.1使用FileEnumerator类导航图像 563

15.2.2使用AssignFiles()方法加载文件列表 565

15.2.3使用SetFiles()方法加载图像文件列表 566

15.2.4实现图片的导览方法 569

15.2.5添加历史记录图片列表 570

15.2.6实现应用程序配置类Settings 572

15.2.7实例化Settings类 573

15.2.8设置配置文件保存路径 575

15.2.9保存应用程序配置 575

15.2.10实现文件夹信息基类InformationBase 576

15.2.11实现我的电脑信息类MyComputerInformation 578

15.2.12实现驱动器列表类DriveInformation 579

15.2.13实现文件夹信息类DesktopInformation 580

15.3关键技术讲解 582

15.3.1理解WPF的多值绑定 582

15.3.2使用Kent.Boogaart通用转换器 584

15.4小结 586

第3篇 项目案例实战 588

第16章 音乐商店网站(ASP.NETMVC应用) 588

16.1开发站点前的配置 588

16.1.1预览音乐商店网站 588

16.1.2系统架构总览 591

16.1.3系统数据库设计 592

16.1.4系统文件目录结构 594

16.1.5创建母版页和CSS文件 597

16.1.6使用Entity Framework创建实体模型 598

16.2音乐专辑列表实现 600

16.2.1首页控制器实现 600

16.2.2创建首页视图 601

16.2.3浏览音乐流派 602

16.2.4浏览音乐明细信息 604

16.3管理音乐列表 605

16.3.1基于角色的身份验证 606

16.3.2编辑音乐信息 609

16.3.3基于模型的数据验证 614

16.4实现和管理购物车 615

16.4.1添加到购物车功能 615

16.4.2从购物车中移除功能 617

16.4.3提交购物车 619

16.5关键技术讲解 623

16.6小结 623

第17章 学生管理系统(Entity Framework在ASP.NET中的应用) 624

17.1系统分析 624

17.1.1需求分析 624

17.1.2可行性分析 625

17.2系统设计 626

17.2.1系统目标 626

17.2.2系统功能结构 626

17.2.3构建开发环境 627

17.2.4系统预览 627

17.3数据库设计 628

17.3.1数据库表设计 628

17.3.2创建实体数据模型 630

17.3.3浏览实体数据模型关系 632

17.4学生管理功能实现 634

17.4.1创建母版页 634

17.4.2浏览学生列表 635

17.4.3新增学生对象 638

17.5课程管理功能实现 639

17.5.1课程列表功能实现 639

17.5.2添加课程功能实现 642

17.6教师管理功能实现 644

17.6.1管理教师功能实现 644

17.6.2获取相关授课课程 647

17.6.3课程详细和学生成绩列表 648

17.6.4教师课程分配功能实现 649

17.6.5学生统计功能实现 652

17.7关键技术讲解 653

17.7.1具有层次结构的实体模型 653

17.7.2在实体中调用存储过程 654

17.7.3使用动态数据功能验证和格式化数据 655

17.8小结 658

第18章 任务管理系统的设计与实现(Windows Forms和LINQ To Entity实现) 659

18.1系统分析 659

18.1.1需求分析 659

18.1.2可行性分析 660

18.2系统设计 661

18.2.1系统目标 661

18.2.2系统功能结构 661

18.2.3构建开发环境 662

18.2.4系统总览 662

18.3系统数据库设计 663

18.3.1数据库设计 664

18.3.2使用Entity Framework生成实体类 666

18.4任务管理功能的实现 668

18.4.1主窗口设计 668

18.4.2任务管理窗口 670

18.4.3加载任务列表 671

18.4.4格式化DataGridView控件 673

18.4.5加载所选的Task详细信息 675

18.4.6使用CellFormatting事件格式化单元格 675

18.4.7显示任务详细信息 677

18.4.8添加/编辑任务窗口 678

18.4.9使用LINQ to Entity查询任务 680

18.4.10保存任务到数据库 681

18.4.11删除选定的任务 682

18.4.12任务甘特图窗口 683

18.5资源管理功能的实现 685

18.5.1资源管理窗口 685

18.5.2添加资源窗口 686

18.5.3使用ErrorProvider控件验证表单 687

18.5.4保存资源到数据库 689

18.5.5删除指定的资源 690

18.6类别管理功能的实现 690

18.6.1类别管理窗口 691

18.6.2添加类别窗口 692

18.7关键技术讲解 694

18.7.1实现甘特图视图用户控件 694

18.7.2实现任务列表用户控件 699

18.7.3实现自绘制功能的ComboBox控件 700

18.8小结 703