第Ⅰ部分 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#創(chuàng)建.NET應用程序
1.7.1 創(chuàng)建ASP.NET應用程序
1.7.2 創(chuàng)建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企業(yè)體系結構中的作用
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 循環(huán)
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#編程規(guī)則
2.14.1 用于標識符的規(guī)則
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 靜態(tài)類
3.7 Object類
3.7.1 System.Object方法
3.7.2 ToString()方法
3.8 擴展方法
3.9 小結
第4章 繼承
4.1 繼承的類型
4.1.1 實現(xiàn)繼承和接口繼承
4.1.2 多重繼承
4.1.3 結構和類
4.2 實現(xiàn)繼承
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 定義和實現(xiàn)接口
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 創(chuàng)建數組
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 運算符的優(yōu)先級
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 執(zhí)行用戶定義的類型轉換
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 協(xié)變和抗變
7.2 事件
7.2.1 從接收器的角度討論事件
7.2.2 生成事件
7.3 小結
第8章 字符串和正則表達式
8.1 System.String類
8.1.1 創(chuàng)建字符串
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 創(chuàng)建泛型類
9.3 泛型類的特性
9.3.1 默認值
9.3.2 約束
9.3.3 繼承
9.3.4 靜態(tài)成員
9.4 泛型接口
9.5 泛型方法
9.6 泛型委托
9.6.1 執(zhí)行委托調用的方法
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 創(chuàng)建列表
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 推遲查詢的執(zhí)行
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 分區(qū)
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 實現(xiàn)IDisposable接口和析構函數
12.3 不安全的代碼
12.3.1 用指針直接訪問內存
12.3.2 指針示例:PointerPlayaround
12.3.3 使用指針優(yōu)化性能
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 執(zhí)行多個catch塊
14.2.2 在其他代碼中捕獲異常
14.2.3 System.Exception屬性
14.2.4 沒有處理異常時所發(fā)生的情況
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 創(chuàng)建項目
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 發(fā)布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 發(fā)布Web站點
16.6 Installer項目
16.6.1 Windows Installer
16.6.2 創(chuàng)建安裝程序
16.7 ClickOnce
16.7.1 ClickOnce操作
16.7.2 發(fā)布應用程序
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 創(chuàng)建模塊和程序集
17.2.2 程序集的屬性
17.3 動態(tài)加載和創(chuàng)建程序集
17.4 應用程序域
17.5 共享程序集
17.5.1 強名
17.5.2 使用強名獲得完整性
17.5.3 全局程序集緩存
17.5.4 創(chuàng)建共享程序集
17.5.5 創(chuàng)建強名
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 發(fā)布方的策略文件
17.7.5 運行庫的版本
17.8 小結
第18章 跟蹤和事件
18.1 跟蹤
18.1.1 跟蹤源
18.1.2 跟蹤開關
18.1.3 跟蹤監(jiān)聽器
18.1.4 過濾器
18.1.5 斷言
18.2 事件日志
18.2.1 事件日志體系架構
18.2.2 事件日志類
18.2.3 創(chuàng)建事件源
18.2.4 寫入事件日志
18.2.5 資源文件
18.3 性能監(jiān)控
18.3.1 性能監(jiān)控類
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 線程的優(yōu)先級
19.3.4 控制線程
19.4 線程池
19.5 線程問題
19.5.1 競態(tài)條件
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 創(chuàng)建基于事件的異步組件
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 代碼組的創(chuàng)建
20.5.4 代碼組的刪除
20.5.5 代碼組權限的更改
20.5.6 權限集的創(chuàng)建和應用
20.5.7 使用強名發(fā)布代碼
20.5.8 使用證書發(fā)布代碼
20.6 小結
第21章 本地化
21.1 System.Globalization命名空間
21.1.1 Unicode問題
21.1.2 文化和區(qū)域
21.1.3 使用文化
21.1.4 排序
21.2 資源
21.2.1 創(chuàng)建資源文件
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 創(chuàng)建DatabaseResourceReader類
21.6.2 創(chuàng)建DatabaseResourceSet類
21.6.3 創(chuàng)建DatabaseResource-Manager類
21.6.4 DatabaseResourceReader的客戶應用程序
21.7 創(chuàng)建定制文化
21.8 小結
第22章 事務處理
22.1 概述
22.1.1 事務處理階段
22.1.2 ACID屬性
22.2 數據庫和實體類
22.3 傳統(tǒng)的事務處理
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 環(huán)境事務處理
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 創(chuàng)建Windows服務
23.4.1 使用套接字的類庫
23.4.2 TcpClient示例
23.4.3 Windows服務項目
23.4.4 線程和服務
23.4.5 服務的安裝
23.4.6 安裝程序
23.5 服務的監(jiān)視和控制
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 創(chuàng)建COM組件
24.3.2 創(chuàng)建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 創(chuàng)建.NET組件
24.4.3 創(chuàng)建類型庫
24.4.4 COM互操作特性
24.4.5 COM注冊
24.4.6 創(chuàng)建COM客戶程序
24.4.7 添加連接點
24.4.8 用sink對象創(chuàng)建客戶程序
24.4.9 在Internet Explorer中運行Windows窗體控件
24.5 平臺調用
24.6 小結
第Ⅳ部分 數 據
第25章 文件和注冊表操作
25.1 管理文件系統(tǒng)
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 執(zhí)行命令
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 分層開發(fā)
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表——創(chuàng)建控制臺應用程序
27.1.2 添加LINQ to SQL類
27.1.3 O/R設計器概述
27.1.4 創(chuàng)建Product對象
27.2 對象映射到LINQ對象上
27.2.1 DataContext對象
27.2.2 Table對象
27.3 不使用O/R設計器工作
27.3.1 創(chuàng)建自己的定制對象
27.3.2 用定制的對象和LINQ進行查詢
27.3.3 用查詢限制所調用的列
27.3.4 使用列名
27.3.5 創(chuàng)建自己的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 創(chuàng)建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 查詢靜態(tài)的XML文檔
29.3.2 查詢動態(tài)的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 創(chuàng)建UDT
30.3.2 使用UDT
30.3.3 在客戶端代碼中使用UDT
30.4 用戶定義的合計函數
30.4.1 創(chuàng)建用戶定義的合計函數
30.4.2 使用用戶定義的合計函數
30.5 存儲過程
30.5.1 創(chuàng)建存儲過程
30.5.2 使用存儲過程
30.6 用戶定義的函數
30.6.1 創(chuàng)建用戶定義的函數
30.6.2 使用用戶定義的函數
30.7 觸發(fā)器
30.7.1 創(chuàng)建觸發(fā)器
30.7.2 使用觸發(fā)器
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 創(chuàng)建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 創(chuàng)建一個連接
32.4.2 選擇數據
32.4.3 更新數據源
32.4.4 其他常見的要求
32.5 小結
第33章 使用GDI+繪圖
33.1 理解繪圖規(guī)則
33.1.1 GDI和GDI+
33.1.2 繪制圖形
33.1.3 使用OnPaint()繪制圖形
33.1.4 使用剪切區(qū)域
33.2 測量坐標和區(qū)域
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 設計人員和開發(fā)人員的合作
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 創(chuàng)建列表框的樣式
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 觸發(fā)器
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 發(fā)現(xiàn)
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開發(fā)
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 實現(xiàn)登錄系統(tǒng)
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 較低層的協(xié)議
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 服務的實現(xiàn)
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 服務的實現(xiàn)
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 活動的執(zhí)行模型
43.3 定制的活動
43.3.1 活動的有效性驗證
43.3.2 主題和設計器
43.3.3 ActivityToolboxItem和圖標
43.3.4 定制的復合活動
43.4 工作流
43.4.1 系列工作流
43.4.2 狀態(tài)機工作流
43.4.3 給工作流傳送參數
43.4.4 從工作流中返回結果
43.4.5 將參數綁定到活動上
43.5 工作流運行庫
43.6 工作流服務
43.6.1 持續(xù)服務
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 環(huán)境
44.1.4 自動的事務處理
44.1.5 分布式事務處理
44.1.6 對象池
44.1.7 基于角色的安全性
44.1.8 排隊的組件
44.1.9 松散藕合的事件
44.2 創(chuàng)建簡單的COM+應用程序
44.2.1 類ServicedComponent
44.2.2 標記程序集
44.2.3 程序集的屬性
44.2.4 創(chuàng)建組件
44.3 部署
44.3.1 自動部署
44.3.2 手工部署
44.3.3 創(chuàng)建安裝軟件包
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 創(chuàng)建消息隊列
45.4.2 消息隊列屬性
45.5 Message Queuing的編程實現(xiàn)
45.5.1 創(chuàng)建消息隊列
45.5.2 查找隊列
45.5.3 打開已知的隊列
45.5.4 發(fā)送消息
45.5.5 接收消息
45.6 課程訂單應用程序
45.6.1 課程訂單類庫
45.6.2 課程訂單消息發(fā)送程序
45.6.3 發(fā)送優(yōu)先級和可恢復的消息
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消息發(fā)送程序
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 創(chuàng)建新對象
46.3.7 更新目錄項
46.3.8 訪問內部的ADSI對象
46.3.9 在Active Directory中搜索
46.4 搜索用戶對象
46.4.1 用戶界面
46.4.2 獲取模式命名環(huán)境
46.4.3 獲取User類的屬性名
46.4.4 搜索用戶對象
46.5 賬戶管理
46.5.1 顯示用戶信息
46.5.2 創(chuàng)建用戶
46.5.3 重置密碼
46.5.4 創(chuàng)建組
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體系結構的挑戰(zhàn)
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