注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計C/C++及其相關(guān)精通C#(第6版)

精通C#(第6版)

精通C#(第6版)

定 價:¥159.00

作 者: (美)特羅爾森 著,姚琪琳 等譯
出版社: 人民郵電出版社
叢編項:
標 簽: C C++ C# VC VC++ 程序設(shè)計 計算機/網(wǎng)絡(luò)

ISBN: 9787115321817 出版時間: 2013-07-01 包裝: 平裝
開本: 大16開 頁數(shù): 1192 字數(shù):  

內(nèi)容簡介

  《圖靈程序設(shè)計叢書:精通C#(第6版)》是C#領(lǐng)域久負盛名的經(jīng)典著作,深入全面地講解了C#編程語言和.NET平臺的核心內(nèi)容,并結(jié)合大量示例剖析相關(guān)概念。全書分為八部分:C#和.NET平臺、C#核心編程結(jié)構(gòu)、C#面向?qū)ο缶幊?、高級C#編程結(jié)構(gòu)、用.NET程序集編程、.NET基礎(chǔ)類庫、WPF和ASP.NET Web Forms。第6版是對第5版的進一步更新和完善,內(nèi)容涵蓋了最先進的.NET編程技術(shù)和技巧,并準確呈現(xiàn)出C#編程語言的最新變化和.NET 4.5 Framework的新特性?!秷D靈程序設(shè)計叢書:精通C#(第6版)》由微軟C# MVP Andrew Troelsen編寫,第6版專門針對C# 5.0和.NET 4.5進行了細致入微的修訂,是各層次.NET開發(fā)人員的必讀之作。

作者簡介

  Andrew Troelsen 世界級C#專家,微軟Visual C#MVP。他是著名的微軟技術(shù)咨詢企業(yè)Intertech的合伙人和副總裁,該公司的客戶包括微軟、霍尼韋爾、美國國家航空航天局等。他曾是MSDN網(wǎng)站和MacTech網(wǎng)站.NET技術(shù)帖專家,并經(jīng)常在業(yè)界主要技術(shù)會議上發(fā)表演講和開設(shè)技術(shù)講座。他還是公認的C#和.NET暢銷技術(shù)書作家。除本書外,他還著有ProExpression Blend 4、Pro VB 2008 and the .NET 3.5 Platform和COM and.NET Interoperability等近二十部.NET技術(shù)方面的著作。

圖書目錄

第一部分 C#與.NET平臺
第1章 .NET之道
1.1 初識.NET平臺
1.2 .NET平臺構(gòu)造塊(CLR、CTS和CLS)簡介
1.2.1 基礎(chǔ)類庫的作用
1.2.2 C#的優(yōu)點
1.2.3 托管代碼與非托管代碼
1.3 其他支持.NET的編程語言
1.4 .NET程序集概覽
1.4.1 CIL的作用
1.4.2 .NET類型元數(shù)據(jù)的作用
1.4.3 程序集清單的作用
1.5 CTS
1.5.1 CTS類類型
1.5.2 CTS接口類型
1.5.3 CTS結(jié)構(gòu)類型
1.5.4 CTS枚舉類型
1.5.5 CTS委托類型
1.5.6 CTS類型成員
1.5.7 內(nèi)建的CTS數(shù)據(jù)類型
1.6 CLS
1.7 CLR
1.8 程序集/命名空間/類型的區(qū)別
1.8.1 Microsoft根命名空間的作用
1.8.2 以編程方式訪問命名空間
1.8.3 引用外部程序集
1.9 使用ildasm.exe探索程序集
1.9.1 查看CIL代碼
1.9.2 查看類型元數(shù)據(jù)
1.9.3 查看程序集元數(shù)據(jù)(即清單)
1.10 .NET的平臺無關(guān)性
1.11 Windows 8應用程序簡介
1.11.1 構(gòu)建Windows 8應用程序
1.11.2 .NET在Windows 8中的作用
1.12 小結(jié)
第2章 構(gòu)建C#應用程序
2.1 .NET Framework 4.5 SDK的作用
2.2 用csc.exe構(gòu)建C#應用程序
2.2.1 指定輸入輸出目標
2.2.2 引用外部程序集
2.2.3 引用多個外部程序集
2.2.4 編譯多個源文件
2.2.5 使用C#響應文件
2.3 使用Notepad++構(gòu)建.NET應用程序
2.4 使用SharpDevelop構(gòu)建.NET應用程序
2.5 使用Visual C# Express構(gòu)建.NET應用程序
2.6 使用Visual Studio構(gòu)建.NET應用程序
2.6.1 Visual Studio的獨特功能
2.6.2 使用New Project對話框指向.NET Framework
2.6.3 解決方案資源管理器
2.6.4 Class View工具
2.6.5 Object Browser工具
2.6.6 集成對代碼重構(gòu)的支持
2.6.7 代碼擴展和圍繞技術(shù)
2.6.8 可視化Class Designer
2.6.9 集成的.NET Framework 4.5 SDK文檔系統(tǒng)
2.7 小結(jié)
第二部分 C#核心編程結(jié)構(gòu)
第3章 C#核心編程結(jié)構(gòu)Ⅰ
3.1 一個簡單的C#程序
3.1.1 Main方法的其他形式
3.1.2 指定應用程序錯誤代碼
3.1.3 處理命令行參數(shù)
3.1.4 使用Visual Studio指定命令行參數(shù)
3.2 有趣的題外話:System.Environment類的其他成員
3.3 System.Console類
3.3.1 使用Console類進行基本的輸入和輸出
3.3.2 格式化控制臺輸出
3.3.3 格式化數(shù)值數(shù)據(jù)
3.3.4 在控制臺應用程序外格式化數(shù)值數(shù)據(jù)
3.4 系統(tǒng)數(shù)據(jù)類型和相應的C#關(guān)鍵字
3.4.1 變量聲明和初始化
3.4.2 內(nèi)建數(shù)據(jù)類型與new操作符
3.4.3 數(shù)據(jù)類型類的層次結(jié)構(gòu)
3.4.4 數(shù)值數(shù)據(jù)類型的成員
3.4.5 System.Boolean的成員
3.4.6 System.Char的成員
3.4.7 從字符串數(shù)據(jù)中解析數(shù)值
3.4.8 System.DateTime和System.TimeSpan
3.4.9 System.Numerics.dll程序集
3.5 使用字符串數(shù)據(jù)
3.5.1 基本的字符串操作
3.5.2 字符串拼接
3.5.3 轉(zhuǎn)義字符
3.5.4 定義逐字字符串
3.5.5 字符串和相等性
3.5.6 字符串是不可變的
3.5.7 System.Text.StringBuilder類型
3.6 窄化和寬化數(shù)據(jù)類型轉(zhuǎn)換
3.6.1 checked關(guān)鍵字
3.6.2 設(shè)定項目級別的溢出檢測
3.6.3 unchecked關(guān)鍵字
3.7 隱式類型本地變量
3.7.1 隱式類型變量的限制
3.7.2 隱式類型數(shù)據(jù)是強類型數(shù)據(jù)
3.7.3 隱式類型本地變量的用途
3.8 C#迭代結(jié)構(gòu)
3.8.1 for循環(huán)
3.8.2 foreach循環(huán)
3.8.3 while和do/while循環(huán)結(jié)構(gòu)
3.9 條件結(jié)構(gòu)和關(guān)系/相等操作符
3.9.1 if/else語句
3.9.2 關(guān)系/相等操作符
3.9.3 邏輯操作符
3.9.4 switch語句
3.10 小結(jié)
第4章 C#核心編程結(jié)構(gòu)Ⅱ
4.1 方法和參數(shù)修飾符
4.1.1 默認的參數(shù)傳遞行為
4.1.2 out修飾符
4.1.3 ref修飾符
4.1.4 params修飾符
4.1.5 定義可選參數(shù)
4.1.6 使用命名參數(shù)調(diào)用方法
4.1.7 成員重載
4.2 C#數(shù)組
4.2.1 C#數(shù)組初始化語法
4.2.2 隱式類型本地數(shù)組
4.2.3 定義object數(shù)組
4.2.4 使用多維數(shù)組
4.2.5 數(shù)組作為參數(shù)(和返回值)
4.2.6 System.Array基類
4.3 枚舉類型
4.3.1 控制枚舉的底層存儲
4.3.2 聲明枚舉變量
4.3.3 System.Enum類型
4.3.4 動態(tài)獲取枚舉的名稱/值對
4.4 結(jié)構(gòu)類型
4.5 值類型和引用類型
4.5.1 值類型、引用類型和賦值操作符
4.5.2 包含引用類型的值類型
4.5.3 按值傳遞引用類型
4.5.4 按引用傳遞引用類型
4.5.5 值類型和引用類型:最后的細節(jié)
4.6 C#可空類型
4.6.1 使用可空類型
4.6.2 ??操作符
4.7 小結(jié)
第三部分 C#面向?qū)ο缶幊?br />第5章 封裝
5.1 C#類類型
5.2 構(gòu)造函數(shù)
5.2.1 默認構(gòu)造函數(shù)的作用
5.2.2 定義自定義的構(gòu)造函數(shù)
5.2.3 再談默認構(gòu)造函數(shù)
5.3 this關(guān)鍵字的作用
5.3.1 使用this進行串聯(lián)構(gòu)造函數(shù)調(diào)用
5.3.2 觀察構(gòu)造函數(shù)流程
5.3.3 再談可選參數(shù)
5.4 static關(guān)鍵字
5.4.1 定義靜態(tài)數(shù)據(jù)
5.4.2 定義靜態(tài)方法
5.4.3 定義靜態(tài)構(gòu)造函數(shù)
5.4.4 定義靜態(tài)類
5.5 定義OOP的支柱
5.5.1 封裝的作用
5.5.2 繼承的作用
5.5.3 多態(tài)的作用
5.6 C#訪問修飾符
5.6.1 默認的訪問修飾符
5.6.2 訪問修飾符和嵌套類型
5.7 第一個支柱:C#的封裝服務(wù)
5.7.1 使用傳統(tǒng)的訪問方法和修改方法執(zhí)行封裝
5.7.2 使用.NET屬性進行封裝
5.7.3 使用類的屬性
5.7.4 只讀和只寫屬性
5.7.5 靜態(tài)屬性
5.8 自動屬性
5.8.1 與自動屬性交互
5.8.2 關(guān)于自動屬性和默認值
5.9 對象初始化語法
5.9.1 使用初始化語法調(diào)用自定義構(gòu)造函數(shù)
5.9.2 初始化內(nèi)部類型
5.10 常量數(shù)據(jù)
5.10.1 只讀字段
5.10.2 靜態(tài)只讀字段
5.11 分部類型
5.12 小結(jié)
第6章 繼承和多態(tài)
6.1 繼承的基本機制
6.1.1 指定既有類的父類
6.1.2 多個基類
6.1.3 sealed關(guān)鍵字
6.2 回顧Visual Studio類關(guān)系圖
6.3 OOP的第二個支柱:繼承
6.3.1 使用base關(guān)鍵字控制基類的創(chuàng)建
6.3.2 家族的秘密:protected關(guān)鍵字
6.3.3 增加密封類
6.4 包含/委托編程
6.5 OOP的第三個支柱:C#的多態(tài)支持
6.5.1 virtual和override關(guān)鍵字
6.5.2 使用Visual Studio IDE重寫虛方法
6.5.3 密封虛成員
6.5.4 抽象類
6.5.5 構(gòu)建多態(tài)接口
6.5.6 成員投影
6.6 基類/派生類的轉(zhuǎn)換規(guī)則
6.6.1 C#的as關(guān)鍵字
6.6.2 C#的is關(guān)鍵字
6.7 超級父類:System.Object
6.7.1 重寫System.Object.ToString
6.7.2 重寫System.Object.Equals
6.7.3 重寫System.Object.GetHashCode
6.7.4 測試修改后的Person類
6.7.5 System.Object的靜態(tài)成員
6.8 小結(jié)
第7章 結(jié)構(gòu)化異常處理
7.1 錯誤、bug與異常
7.2 .NET異常處理的作用
7.2.1 .NET異常處理的四要素
7.2.2 System.Exception基類
7.3 最簡單的例子
7.3.1 引發(fā)普通的異常
7.3.2 捕獲異常
7.4 配置異常的狀態(tài)
7.4.1 TargetSite屬性
7.4.2 StackTrace屬性
7.4.3 HelpLink屬性
7.4.4 Data屬性
7.5 系統(tǒng)級異常
7.6 應用程序級異常
7.6.1 構(gòu)建自定義異常,第一部分
7.6.2 構(gòu)建自定義異常,第二部分
7.6.3 構(gòu)建自定義異常,第三部分
7.7 處理多個異常
7.7.1 通用的catch語句
7.7.2 再次引發(fā)異常
7.7.3 內(nèi)部異常
7.7.4 finally塊
7.8 誰在引發(fā)什么異常
7.9 未處理異常的后果
7.10 使用Visual Studio調(diào)試未處理的異常
7.11 小結(jié)
第8章 接口
8.1 接口類型
8.2 定義自定義接口
8.3 實現(xiàn)接口
8.4 在對象級別調(diào)用接口成員
8.4.1 獲取接口引用:as關(guān)鍵字
8.4.2 獲取接口引用:is關(guān)鍵字
8.5 接口作為參數(shù)
8.6 接口作為返回值
8.7 接口類型數(shù)組
8.8 使用Visual Studio實現(xiàn)接口
8.9 顯式接口實現(xiàn)
8.10 設(shè)計接口層次結(jié)構(gòu)
8.11 構(gòu)建可枚舉類型(IEnumerable和IEnumerator)
8.11.1 用yield關(guān)鍵字構(gòu)建迭代器方法
8.11.2 構(gòu)建命名迭代器
8.12 構(gòu)建可克隆的對象(ICloneable)
8.13 構(gòu)建可比較的對象(IComparable)
8.13.1 指定多個排序順序
8.13.2 自定義屬性、自定義排序類型
8.14 小結(jié)
第四部分 高級C#編程結(jié)構(gòu)
第9章 集合與泛型
9.1 集合類的動機
9.1.1 System.Collections命名空間
9.1.2 System.Collections.Specialized命名空間
9.2 非泛型集合的問題
9.2.1 性能問題
9.2.2 類型安全問題
9.2.3 初識泛型集合
9.3 泛型類型參數(shù)的作用
9.3.1 為泛型類/結(jié)構(gòu)指定類型參數(shù)
9.3.2 為泛型成員指定類型參數(shù)
9.3.3 為泛型接口指定類型參數(shù)
9.4 System.Collections.Generic命名空間
9.4.1 集合初始化語法
9.4.2 使用List類
9.4.3 使用Stack類
9.4.4 使用Queue類
9.4.5 使用SortedSet類
9.5 System.Collections.ObjectModel命名空間
9.6 創(chuàng)建自定義泛型方法
9.7 創(chuàng)建自定義泛型結(jié)構(gòu)和類
9.8 類型參數(shù)的約束
9.8.1 使用where關(guān)鍵字的示例
9.8.2 操作符約束的不足
9.9 小結(jié)
第10章 委托、事件和Lambda表達式
10.1 .NET委托類型
10.1.1 在C#中定義委托類型
10.1.2 System.MulticastDelegate與System.Delegate基類
10.2 最簡單的委托示例
10.3 使用委托發(fā)送對象狀態(tài)通知
10.3.1 支持多路廣播
10.3.2 從委托的調(diào)用列表中移除成員
10.3.3 方法組轉(zhuǎn)換語法
10.4 泛型委托
10.5 C#事件
10.5.1 event關(guān)鍵字
10.5.2 揭開事件的神秘面紗
10.5.3 監(jiān)聽傳入的事件
10.5.4 使用Visual Studio簡化事件注冊
10.5.5 創(chuàng)建自定義的事件參數(shù)
10.5.6 泛型EventHandler委托
10.6 C#匿名方法
10.7 Lambda表達式
10.7.1 剖析Lambda表達式
10.7.2 使用多個語句處理參數(shù)
10.7.3 含有多個(或零個)參數(shù)的Lambda表達式
10.7.4 使用Lambda表達式重新編寫CarEvents示例
10.8 小結(jié)
第11章 高級C#語言特性
11.1 索引器方法
11.1.1 使用字符串值索引對象
11.1.2 重載索引器方法
11.1.3 多維的索引器
11.1.4 在接口類型上定義索引器
11.2 操作符重載
11.2.1 重載二元操作符
11.2.2 +=與-=操作符
11.2.3 重載一元操作符
11.2.4 重載相等操作符
11.2.5 重載比較操作符
11.2.6 操作符重載的最后思考
11.3 自定義類型轉(zhuǎn)換
11.3.1 回顧:數(shù)值轉(zhuǎn)換
11.3.2 回顧:相關(guān)的類類型間的轉(zhuǎn)換
11.3.3 創(chuàng)建自定義轉(zhuǎn)換例程
11.3.4 Square類型的其他顯式轉(zhuǎn)換
11.3.5 定義隱式轉(zhuǎn)換例程
11.4 擴展方法
11.4.1 定義擴展方法
11.4.2 在實例層次上調(diào)用擴展方法
11.4.3 導入擴展方法
11.4.4 擴展方法的智能感知
11.4.5 擴展實現(xiàn)了指定接口的類型
11.5 匿名類型
11.5.1 定義匿名類型
11.5.2 匿名類型的內(nèi)部表示方式
11.5.3 方法ToString和GetHashCode的實現(xiàn)
11.5.4 匿名類型的相等語義
11.5.5 包含匿名類型的匿名類型
11.6 指針類型
11.6.1 unsafe關(guān)鍵字
11.6.2 *和&操作符
11.6.3 不安全(與安全)交換功能
11.6.4 通過指針訪問字段
11.6.5 stackalloc關(guān)鍵字
11.6.6 使用fixed關(guān)鍵字固定類型
11.6.7 sizeof關(guān)鍵字
11.7 小結(jié)
第12章 LINQ to Object
12.1 LINQ特有的編程結(jié)構(gòu)
12.1.1 隱式類型本地變量
12.1.2 對象和集合初始化語法
12.1.3 Lambda表達式
12.1.4 擴展方法
12.1.5 匿名類型
12.2 LINQ的作用
12.2.1 LINQ表達式是強類型的
12.2.2 核心LINQ程序集
12.3 將LINQ查詢應用于原始數(shù)組
12.3.1 再一次,不使用LINQ
12.3.2 反射LINQ結(jié)果集
12.3.3 LINQ和隱式類型本地變量
12.3.4 LINQ和擴展方法
12.3.5 延遲執(zhí)行的作用
12.3.6 立即執(zhí)行的作用
12.4 返回LINQ查詢的結(jié)果
12.5 將LINQ查詢應用到集合對象
12.5.1 訪問包含的子對象
12.5.2 將LINQ查詢應用于非泛型集合
12.5.3 使用OfType篩選數(shù)據(jù)
12.6 C# LINQ查詢操作符
12.6.1 基本的選擇語法
12.6.2 獲取數(shù)據(jù)子集
12.6.3 投影新數(shù)據(jù)類型
12.6.4 使用Enumerable獲取總數(shù)
12.6.5 反轉(zhuǎn)結(jié)果集
12.6.6 對表達式進行排序
12.6.7 維恩圖工具
12.6.8 移除重復
12.6.9 LINQ聚合操作
12.7 LINQ查詢語句的內(nèi)部表示
12.7.1 用查詢操作符建立查詢表達式(復習)
12.7.2 使用Enumerable類型和Lambda表達式來建立查詢表達式
12.7.3 使用Enumerable類型和匿名方法來建立查詢表達式
12.7.4 用Enumerable類型和原始委托建立查詢表達式
12.8 小結(jié)
第13章 對象的生命周期
13.1 類、對象和引用
13.2 對象生命周期的基礎(chǔ)
13.2.1 CIL的new指令
13.2.2 將對象引用設(shè)置為空
13.3 應用程序根的作用
13.4 對象的代
13.5 .NET 1.0至.NET 3.5的并發(fā)垃圾回收
13.6 .NET 4.0及后續(xù)版本
13.7 System.GC類型
13.8 構(gòu)建可終結(jié)對象
13.8.1 重寫System.Object.Finalize
13.8.2 終結(jié)過程的細節(jié)
13.9 構(gòu)建可處置對象
13.10 構(gòu)建可終結(jié)類型和可處置類型
13.11 延遲對象實例化
13.12 小結(jié)
第五部分 用.NET程序集編程
第14章 .NET程序集入門
14.1 定義自定義命名空間
14.1.1 使用完全限定名解決命名沖突
14.1.2 使用別名解決命名沖突
14.1.3 創(chuàng)建嵌套的命名空間
14.1.4 Visual Studio 的默認命名空間
14.2 .NET程序集的作用
14.2.1 程序集促進代碼重用
14.2.2 程序集確定類型邊界
14.2.3 程序集是可版本化的單元
14.2.4 程序集是自描述的
14.2.5 程序集是可配置的
14.3 .NET程序集的格式
14.3.1 Windows文件首部
14.3.2 CLR文件首部
14.3.3 CIL代碼、類型元數(shù)據(jù)和程序集清單
14.3.4 可選的程序集資源
14.4 構(gòu)建和使用自定義類庫
14.4.1 清單
14.4.2 CIL
14.4.3 類型元數(shù)據(jù)
14.4.4 構(gòu)建C#客戶端應用程序
14.4.5 構(gòu)建Visual Basic客戶端應用程序
14.4.6 實現(xiàn)跨語言繼承
14.5 私有程序集
14.5.1 私有程序集的標識
14.5.2 探測過程
14.5.3 配置私有程序集
14.5.4 App.Config文件
14.6 共享程序集
14.6.1 全局程序集緩存
14.6.2 強名稱
14.6.3 在命令行生成強名稱
14.6.4 使用Visual Studio為程序集賦予強名稱
14.6.5 在GAC中安裝強名稱的程序集
14.7 使用共享程序集
14.8 配置共享程序集
14.8.1 凍結(jié)當前的共享程序集
14.8.2 構(gòu)建共享程序集2.0.0.0版本
14.8.3 動態(tài)重定向到共享程序集的特定版本
14.9 發(fā)行者策略程序集
14.10 元素
14.11 System.Configuration命名空間
14.12 配置文件架構(gòu)文檔
14.13 小結(jié)
第15章 類型反射、晚期綁定和基于特性的編程
15.1 類型元數(shù)據(jù)的必要性
15.1.1 查看(部分)EngineState枚舉的元數(shù)據(jù)
15.1.2 查看(部分)Car類型的元數(shù)據(jù)
15.1.3 研究TypeRef
15.1.4 記錄定義的程序集
15.1.5 記錄引用的程序集
15.1.6 記錄字符串字面量
15.2 反射
15.2.1 System.Type類
15.2.2 使用System.Object.GetType得到Type引用
15.2.3 使用typeof得到Type引用
15.2.4 使用System.Type.GetType得到Type引用
15.3 構(gòu)建自定義的元數(shù)據(jù)查看器
15.3.1 反射方法
15.3.2 反射字段和屬性
15.3.3 反射實現(xiàn)的接口
15.3.4 顯示其他信息
15.3.5 實現(xiàn)Main
15.3.6 反射泛型類型
15.3.7 反射方法參數(shù)和返回值
15.4 動態(tài)加載程序集
15.5 反射共享程序集
15.6 晚期綁定
15.6.1 System.Activator類
15.6.2 調(diào)用沒有參數(shù)的方法
15.6.3 調(diào)用有參數(shù)的方法
15.7 .NET特性的作用
15.7.1 特性的使用者
15.7.2 在C#中使用特性
15.7.3 C#特性簡化符號
15.7.4 為特性指定構(gòu)造參數(shù)
15.7.5 Obsolete特性
15.8 構(gòu)建自定義特性
15.8.1 應用自定義特性
15.8.2 命名屬性語法
15.8.3 限制特性使用
15.9 程序集級別特性
15.10 使用早期綁定反射特性
15.11 使用晚期綁定反射特性
15.12 反射、晚期綁定和自定義特性的使用背景
15.13 構(gòu)建可擴展的應用程序
15.13.1 構(gòu)建CommonSnappable-Types.dll
15.13.2 構(gòu)建C#插件
15.13.3 構(gòu)建Visual Basic插件
15.13.4 構(gòu)建可擴展的Windows Forms應用程序
15.14 小結(jié)
第16章 動態(tài)類型和動態(tài)語言運行時
16.1 dynamic關(guān)鍵字的作用
16.1.1 調(diào)用動態(tài)聲明的數(shù)據(jù)的成員
16.1.2 Microsoft.CSharp.dll程序集的作用
16.1.3 dynamic關(guān)鍵字的作用域
16.1.4 dynamic關(guān)鍵字的限制
16.1.5 dynamic關(guān)鍵字的實際用途
16.2 DLR的作用
16.2.1 表達式樹的作用
16.2.2 System.Dynamic命名空間的作用
16.2.3 表達式樹的動態(tài)運行時查找
16.3 使用動態(tài)類型簡化后期綁定調(diào)用
16.4 使用動態(tài)數(shù)據(jù)簡化COM互操作
16.4.1 主互操作程序集的作用
16.4.2 嵌入互操作元數(shù)據(jù)
16.4.3 普通COM互操作的難點
16.5 使用C# 動態(tài)數(shù)據(jù)進行COM互操作
16.6 不使用C# 動態(tài)數(shù)據(jù)進行COM互操作
16.7 小結(jié)
第17章 進程、應用程序域和對象上下文
17.1 Windows進程的作用
17.2 .NET平臺下與進程進行交互
17.2.1 列舉運行中的進程
17.2.2 特定的進程
17.2.3 進程的線程集合
17.2.4 進程中的模塊集合
17.2.5 以編程方式啟動或結(jié)束進程
17.2.6 使用ProcessStartInfo類控制進程的啟動
17.3 .NET應用程序域
17.4 與默認應用程序域進行交互
17.4.1 枚舉加載的程序集
17.4.2 接收程序集加載通知
17.5 創(chuàng)建新的應用程序域
17.5.1 在自定義應用程序域中加載程序集
17.5.2 以編程方式卸載應用程序域
17.6 對象上下文邊界
17.6.1 上下文靈活和上下文綁定類型
17.6.2 定義上下文綁定對象
17.6.3 研究對象的上下文
17.7 進程、應用程序域和上下文小結(jié)
17.8 小結(jié)
第18章 CIL和動態(tài)程序集的作用
18.1 學習CIL語法的原因
18.2 CIL指令、特性和操作碼
18.2.1 CIL指令的作用
18.2.2 CIL特性的作用
18.2.3 CIL操作碼的作用
18.2.4 區(qū)別CIL操作碼和CIL助記符
18.3 入棧和出棧:CIL基于棧的本質(zhì)
18.4 正反向工程
18.4.1 CIL代碼標簽的作用
18.4.2 與CIL交互:修改*.il文件
18.4.3 使用ilasm.exe編譯CIL代碼
18.4.4 peverify.exe的作用
18.5 CIL指令和特性
18.5.1 在CIL中指定外部引用程序集
18.5.2 在CIL中定義當前程序集
18.5.3 在CIL中定義命名空間
18.5.4 在CIL中定義類類型
18.5.5 在CIL中定義和實現(xiàn)接口
18.5.6 在CIL中定義結(jié)構(gòu)
18.5.7 在CIL中定義枚舉
18.5.8 在CIL中定義泛型
18.5.9 編譯CILTypes.il文件
18.6 .NET基礎(chǔ)類庫、C#和CIL數(shù)據(jù)類型的映射
18.7 在CIL中定義類型成員
18.7.1 在CIL中定義數(shù)據(jù)字段
18.7.2 在CIL中定義類型的構(gòu)造函數(shù)
18.7.3 在CIL中定義屬性
18.7.4 定義成員參數(shù)
18.8 剖析CIL操作碼
18.8.1 .maxstack指令
18.8.2 在CIL中聲明本地變量
18.8.3 在CIL中映射參數(shù)到本地變量
18.8.4 this隱式引用
18.8.5 在CIL中使用循環(huán)結(jié)構(gòu)
18.9 使用CIL構(gòu)建.NET程序集
18.9.1 構(gòu)建CILCars.dll
18.9.2 構(gòu)建CILCarClient.exe
18.10 動態(tài)程序集
18.10.1 System.Reflection.Emit命名空間
18.10.2 System.Reflection.Emit.ILGenerator的作用
18.10.3 產(chǎn)生動態(tài)的程序集
18.10.4 產(chǎn)生程序集和模塊集
18.10.5 ModuleBuilder類型的作用
18.10.6 產(chǎn)生HelloClass類型和字符串成員變量
18.10.7 產(chǎn)生構(gòu)造函數(shù)
18.10.8 產(chǎn)生SayHello方法
18.10.9 使用動態(tài)產(chǎn)生的程序集
18.11 小結(jié)
第六部分 .NET基礎(chǔ)類庫
第19章 多線程、并行和異步編程
19.1 進程、應用程序域、上下文及線程之間的關(guān)系
19.1.1 并發(fā)問題
19.1.2 線程同步的作用
19.2 .NET委托的簡短回顧
19.3 委托的異步性
19.3.1 BeginInvoke和EndInvoke方法
19.3.2 System.IAsyncResult接口
19.4 異步調(diào)用方法
19.4.1 同步調(diào)用線程
19.4.2 AsyncCallback委托的作用
19.4.3 AsyncResult類的作用
19.4.4 傳遞和接收自定義狀態(tài)數(shù)據(jù)
19.5 System.Threading命名空間
19.6 System.Threading.Thread類
19.6.1 獲得當前執(zhí)行線程的統(tǒng)計信息
19.6.2 Name屬性
19.6.3 Priority屬性
19.7 手工創(chuàng)建次線程
19.7.1 使用ThreadStart委托
19.7.2 使用ParameterizedThreadStart委托
19.7.3 AutoResetEvent類
19.7.4 前臺線程和后臺線程
19.8 并發(fā)問題
19.8.1 使用C#的lock關(guān)鍵字進行同步
19.8.2 使用System.Threading.Monitor類型進行同步
19.8.3 使用System.Threading.Interlocked類型進行同步
19.8.4 使用[Synchronization]特性進行同步
19.9 使用TimerCallback編程
19.10 CLR線程池
19.11 使用任務(wù)并行庫進行并行編程
19.11.1 任務(wù)并行庫API
19.11.2 Parallel類的作用
19.11.3 使用Parallel類的數(shù)據(jù)并行
19.11.4 在次線程中訪問UI元素
19.11.5 Task類
19.11.6 處理取消請求
19.11.7 使用并行類的任務(wù)并行
19.12 并行LINQ查詢(PLINQ)
19.12.1 使用PLINQ查詢
19.12.2 取消PLINQ查詢
19.13 .NET 4.5下的異步調(diào)用
19.13.1 C# async和await關(guān)鍵字初探
19.13.2 異步方法的命名約定
19.13.3 返回void的異步方法
19.13.4 具有多個await的異步方法
19.13.5 用async/await改進AddWithThreads示例
19.14 小結(jié)
第20章 文件輸入輸出和對象序列化
20.1 研究System.IO命名空間
20.2 Directory(Info)和File(Info)類型
20.3 使用DirectoryInfo類型
20.3.1 使用DirectoryInfo類型枚舉出文件
20.3.2 使用DirectoryInfo類型創(chuàng)建子目錄
20.4 使用Directory類型
20.5 使用DriveInfo類類型
20.6 使用FileInfo類
20.6.1 FileInfo.Create方法
20.6.2 FileInfo.Open方法
20.6.3 FileInfo.OpenRead和FileInfo.OpenWrite方法
20.6.4 FileInfo.OpenText方法
20.6.5 FileInfo.CreateText和FileInfo.AppendText方法
20.7 使用File類型
20.8 Stream抽象類
20.9 使用StreamWriter和StreamReader類型
20.9.1 寫文本文件
20.9.2 讀文本文件
20.9.3 直接創(chuàng)建StreamWriter/StreamReader類型
20.10 使用StringWriter和StringReader類型
20.11 使用BinaryWriter和BinaryReader
20.12 以編程方式“觀察”文件
20.13 對象序列化
20.14 為序列化配置對象
20.14.1 定義可序列化的類型
20.14.2 公共字段、私有字段和公共屬性
20.15 選擇序列化格式化程序
20.15.1 IFormatter和IRemoting-Formatting接口
20.15.2 在格式化程序中的類型保真
20.16 使用BinaryFormatter序列化對象
20.17 使用SoapFormatter序列化對象
20.18 使用XmlSerializer序列化對象
20.19 序列化對象集合
20.20 自定義Soap/Binary序列化過程
20.20.1 深入了解對象序列化
20.20.2 使用ISerializable自定義序列化
20.20.3 使用特性定制序列化
20.21 小結(jié)
第21章 ADO.NET之一:連接層
21.1 ADO.NET的宏觀定義
21.2 ADO.NET數(shù)據(jù)提供程序
21.2.1 微軟提供的ADO.NET數(shù)據(jù)提供程序
21.2.2 關(guān)于System.Data.Oracle-Client.dll
21.2.3 選擇第三方的數(shù)據(jù)提供程序
21.3 其他的ADO.NET命名空間
21.4 System.Data命名空間的類型
21.4.1 IDbConnection接口的作用
21.4.2 IDbTransaction接口的作用
21.4.3 IDbCommand接口的作用
21.4.4 IDbDataParameter和IDataParameter接口的作用
21.4.5 IDbDataAdapter和IDataAdapter接口的作用
21.4.6 IDataReader和IDataRecord接口的作用
21.5 使用接口的抽象數(shù)據(jù)提供程序
21.6 創(chuàng)建AutoLot數(shù)據(jù)庫
21.6.1 創(chuàng)建Inventory表
21.6.2 為Inventory表添加測試記錄
21.6.3 編寫GetPetName存儲過程
21.6.4 創(chuàng)建Customers和Orders表
21.6.5 可視化創(chuàng)建表關(guān)系
21.7 ADO.NET數(shù)據(jù)提供程序工廠模型
21.7.1 完整的數(shù)據(jù)提供程序工廠的例子
21.7.2 數(shù)據(jù)提供程序工廠模型的潛在缺陷
21.7.3 元素
21.8 ADO.NET的連接層
21.8.1 使用連接對象
21.8.2 使用ConnectionStringBuilder對象
21.8.3 使用命令對象
21.9 使用數(shù)據(jù)讀取器
21.10 構(gòu)建可重用的數(shù)據(jù)訪問庫
21.10.1 增加連接邏輯
21.10.2 增加插入邏輯
21.10.3 增加刪除邏輯
21.10.4 增加更新邏輯
21.10.5 增加選擇邏輯
21.10.6 使用參數(shù)化的命令對象
21.10.7 執(zhí)行存儲過程
21.11 創(chuàng)建控制臺UI前端
21.11.1 實現(xiàn)Main方法
21.11.2 實現(xiàn)ShowInstructions方法
21.11.3 實現(xiàn)ListInventory方法
21.11.4 實現(xiàn)DeleteCar方法
21.11.5 實現(xiàn)InsertNewCar方法
21.11.6 實現(xiàn)UpdateCarPetName方法
21.11.7 實現(xiàn)LookUpPetName
21.12 數(shù)據(jù)庫事務(wù)
21.12.1 ADO.NET事務(wù)對象的主要成員
21.12.2 為AutoLot數(shù)據(jù)庫添加CreditRisks表
21.12.3 為InventoryDAL添加事物方法
21.12.4 測試數(shù)據(jù)庫事務(wù)
21.13 小結(jié)
第22章 ADO.NET之二:斷開連接層
22.1 ADO.NET斷開連接層
22.2 DataSet的作用
22.2.1 DataSet的主要屬性
22.2.2 DataSet的主要方法
22.2.3 構(gòu)建DataSet
22.3 使用DataColumn
22.3.1 構(gòu)建DataColumn
22.3.2 啟用自增列
22.3.3 把DataColumn對象加入DataTable
22.4 使用DataRow
22.4.1 RowState屬性
22.4.2 DataRowVersion屬性
22.5 使用DataTable
22.5.1 將DataTable插入到DataSet中
22.5.2 獲取DataSet中的數(shù)據(jù)
22.5.3 使用DataTableReader對象處理DataTable
22.5.4 序列化DataTable/DataSet對象為XML
22.5.5 以二進制格式序列化Data-Table/DataSet對象
22.6 將DataTable對象綁定到用戶界面
22.6.1 從泛型List合成DataTable
22.6.2 從DataTable中刪除行
22.6.3 根據(jù)篩選條件選擇行
22.6.4 在DataTable中更新行
22.6.5 使用DataView類型
22.7 使用數(shù)據(jù)適配器
22.7.1 一個簡單的數(shù)據(jù)適配器示例
22.7.2 映射數(shù)據(jù)庫名稱為友好名稱
22.8 向AutoLotDAL.dll添加斷開連接功能
22.8.1 定義初始類類型
22.8.2 使用SqlCommandBuilder來配置數(shù)據(jù)適配器
22.8.3 實現(xiàn)GetAllInventory
22.8.4 實現(xiàn)UpdateInventory
22.8.5 設(shè)置版本號
22.8.6 測試非連接的功能
22.9 多表DataSet對象和數(shù)據(jù)關(guān)系
22.9.1 建立數(shù)據(jù)適配器
22.9.2 建立表間關(guān)系
22.9.3 更新Database表
22.9.4 在關(guān)聯(lián)表中切換
22.10 Windows Forms數(shù)據(jù)庫設(shè)計器工具
22.10.1 可視化設(shè)計DataGridView
22.10.2 生成的App.config文件
22.10.3 強類型的DataSet
22.10.4 強類型的DataTable
22.10.5 強類型的DataRow
22.10.6 強類型的數(shù)據(jù)適配器
22.10.7 完成Windows Forms應用程序
22.11 將強類型的數(shù)據(jù)庫代碼隔離到類庫中
22.11.1 查看生成的代碼
22.11.2 用生成的代碼選擇數(shù)據(jù)
22.11.3 用生成的代碼插入數(shù)據(jù)
22.11.4 用生成的代碼刪除數(shù)據(jù)
22.11.5 用生成的代碼調(diào)用存儲過程
22.12 LINQ to DataSet
22.12.1 DataSet Extensions庫的作用
22.12.2 獲取與LINQ兼容的DataTable
22.12.3 DataRowExtensions.Field-擴展方法的作用
22.12.4 從LINQ查詢中生成新的DataTable
22.13 小結(jié)
第23章 ADO.NET之三:Entity Framework
23.1 Entity Framework的作用
23.1.1 實體的作用
23.1.2 Entity Framework的基礎(chǔ)知識
23.2 創(chuàng)建和分析EDM
23.3 對概念模型進行編程
23.4 AutoLotDAL 4.0版,加入實體
23.4.1 導航屬性的作用
23.4.2 在LINQ to Entity查詢中使用導航屬性
23.4.3 調(diào)用存儲過程
23.5 將數(shù)據(jù)實體綁定到Windows Forms GUI
23.6 展望.NET數(shù)據(jù)訪問API的未來
23.7 小結(jié)
第24章 LINQ to XML簡介
24.1 兩個XML API的故事
24.1.1 更優(yōu)秀的DOM——LINQ to XML
24.1.2 更優(yōu)秀的LINQ to XML——VB字面量語法
24.2 System.Xml.Linq命名空間的成員
24.2.1 LINQ to XML的軸方法
24.2.2 奇妙的XName和XNamespace
24.3 使用XElement和XDocument
24.3.1 從數(shù)組和容器中生成文檔
24.3.2 加載和解析XML內(nèi)容
24.4 在內(nèi)存中操作XML文檔
24.4.1 構(gòu)建LINQ to XML應用程序的UI
24.4.2 引入Inventory.xml文件
24.4.3 定義LINQ to XML輔助類
24.4.4 將UI組裝到輔助類
24.5 小結(jié)
第25章 WCF
25.1 各種分布式計算API
25.1.1 DCOM的作用
25.1.2 COM+/企業(yè)服務(wù)的作用
25.1.3 MSMQ的作用
25.1.4 .NET Remoting的作用
25.1.5 XML Web服務(wù)的作用
25.2 WCF的作用
25.2.1 WCF特性概覽
25.2.2 SOA概覽
25.2.3 WCF概要
25.3 WCF核心程序集
25.4 Visual Studio WCF項目模板
25.5 WCF應用程序的基本構(gòu)成
25.6 WCF的ABC
25.6.1 WCF契約
25.6.2 WCF綁定
25.6.3 WCF地址
25.7 構(gòu)建WCF服務(wù)
25.7.1 [ServiceContract]特性
25.7.2 [OperationContract]特性
25.7.3 作為操作契約的服務(wù)類型
25.8 承載WCF服務(wù)
25.8.1 在App.config文件中創(chuàng)建ABC
25.8.2 針對ServiceHost類型進行編程
25.8.3 指定庫地址
25.8.4 ServiceHost類型的功能
25.8.5 元素的細節(jié)
25.8.6 啟用元數(shù)據(jù)交換
25.9 構(gòu)建WCF客戶端應用程序
25.9.1 使用svcutil.exe生成代理代碼
25.9.2 使用Visual Studio生成代理代碼
25.9.3 配置基于TCP的綁定
25.10 簡化配置設(shè)置
25.10.1 使用默認終結(jié)點
25.10.2 使用多重綁定公開單獨的WCF服務(wù)
25.10.3 修改WCF綁定的設(shè)置
25.10.4 使用默認的MEX行為配置
25.10.5 刷新客戶端代理和選擇綁定
25.11 使用WCF服務(wù)庫項目模板
25.11.1 構(gòu)建簡單的Math服務(wù)
25.11.2 使用WcfTestClient.exe測試WCF服務(wù)
25.11.3 使用SvcConfigEditor.exe修改配置文件
25.12 以Windows服務(wù)承載WCF服務(wù)
25.12.1 在代碼中指定ABC
25.12.2 啟用MEX
25.12.3 創(chuàng)建Windows服務(wù)安裝程序
25.12.4 安裝Windows服務(wù)
25.13 從客戶端異步調(diào)用服務(wù)
25.14 定義WCF數(shù)據(jù)契約
25.14.1 使用Web相關(guān)的WCF服務(wù)項目模板
25.14.2 實現(xiàn)服務(wù)契約
25.14.3 *.svc文件的作用
25.14.4 更新web.config文件
25.14.5 測試服務(wù)
25.15 小結(jié)
第26章 Windows Workflow Foundation簡介
26.1 定義業(yè)務(wù)流程
26.2 構(gòu)建簡單的工作流
26.3 Workflow運行時
26.3.1 使用WorkflowInvoker承載工作流
26.3.2 使用WorkflowApplication承載工作流
26.3.3 第一個工作流示例回顧
26.4 檢查Workflow中的活動
26.4.1 控制流活動
26.4.2 流程圖活動
26.4.3 消息傳遞活動
26.4.4 狀態(tài)機活動
26.4.5 運行時活動與基元活動
26.4.6 事務(wù)活動
26.4.7 集合活動和錯誤處理活動
26.5 構(gòu)建流程圖工作流
26.5.1 在流程圖中連接活動
26.5.2 使用InvokeMethod活動
26.5.3 定義工作流變量
26.5.4 使用FlowDecision活動
26.5.5 使用TerminateWorkflow活動
26.5.6 構(gòu)建“true”條件
26.5.7 使用ForEach活動
26.5.8 完成應用程序
26.5.9 我們做了什么
26.6 在專門的DLL中構(gòu)建Squence工作流
26.6.1 定義初始化項目
26.6.2 引入程序集和命名空間
26.6.3 定義工作流參數(shù)
26.6.4 定義工作流變量
26.6.5 使用Assign活動
26.6.6 使用If和Switch活動
26.6.7 構(gòu)建自定義代碼活動
26.7 使用工作流庫
26.8 小結(jié)
第七部分 WPF
第27章 WPF和XAML
27.1 WPF背后的動機
27.1.1 統(tǒng)一多種不同的API
27.1.2 通過XAML將關(guān)注點分離
27.1.3 提供優(yōu)化的呈現(xiàn)模型
27.1.4 簡化復雜的UI編程
27.2 各種形式的WPF應用程序
27.2.1 傳統(tǒng)的桌面應用程序
27.2.2 基于導航的WPF應用程序
27.2.3 XBAP應用程序
27.2.4 WPF/Silverlight關(guān)系
27.3 WPF程序集
27.3.1 Application類的作用
27.3.2 Window類的作用
27.4 創(chuàng)建不使用XAML的WPF應用程序
27.4.1 創(chuàng)建強類型的Window類
27.4.2 創(chuàng)建簡單的用戶界面
27.4.3 與應用程序級別的數(shù)據(jù)交互
27.4.4 處理Window對象的關(guān)閉
27.4.5 攔截鼠標事件
27.4.6 攔截鍵盤事件
27.5 僅使用XAML構(gòu)建WPF應用程序
27.5.1 用XAML定義窗體對象
27.5.2 用XAML定義應用對象
27.5.3 通過msbuild.exe處理XAML文件
27.6 將標記轉(zhuǎn)換為.NET程序集
27.6.1 將窗口XAML標記映射到C#代碼
27.6.2 BAML的作用
27.6.3 將應用程序XAML標記映射到C#代碼
27.6.4 XAML到程序集的過程摘要
27.7 WPF XAML語法
27.7.1 Kaxaml
27.7.2 XAML XML命名空間和XAML關(guān)鍵字
27.7.3 控制類和成員變量的可見性
27.7.4 XAML元素、XAML特性和類型轉(zhuǎn)換器
27.7.5 XAML屬性元素語法
27.7.6 XAML附加屬性
27.7.7 XAML標記擴展
27.8 使用代碼隱藏文件構(gòu)建WPF應用程序
27.8.1 為MainWindow類添加代碼文件
27.8.2 為MyApp類添加代碼文件
27.8.3 用msbuild.exe處理代碼文件
27.9 使用Visual Studio構(gòu)建WPF應用程序
27.9.1 WPF項目模板
27.9.2 工具箱和XAML設(shè)計器/編輯器
27.9.3 使用Properties窗口設(shè)置屬性
27.9.4 使用Properties窗口處理事件
27.9.5 在XAML編輯器中處理事件
27.9.6 Document Outline窗口
27.9.7 查看自動生成的代碼文件
27.10 使用Visual Studio構(gòu)建自定義XAML編輯器
27.10.1 設(shè)計窗口的GUI
27.10.2 實現(xiàn)Loaded事件
27.10.3 實現(xiàn)按鈕的Click事件
27.10.4 實現(xiàn)Closed事件
27.10.5 測試應用程序
27.10.6 探索WPF 文檔
27.11 小結(jié)
第28章 使用WPF控件編程
28.1 WPF核心控件概述
28.1.1 WPF Ink控件
28.1.2 WPF Document控件
28.1.3 WPF公共對話框
28.1.4 文檔中的細節(jié)
28.2 Visual Studio WPF設(shè)計器
28.2.1 在Visual Studio中使用WPF控件
28.2.2 使用Document Outline編輯器
28.3 使用面板控制內(nèi)容布局
28.3.1 在Canvas面板中放置內(nèi)容
28.3.2 在WrapPanel面板中放置內(nèi)容
28.3.3 在StackPanel面板中放置內(nèi)容
28.3.4 在Grid面板中放置內(nèi)容
28.3.5 在DockPanel面板中放置內(nèi)容
28.3.6 啟用Panel類型的滾動功能
28.3.7 使用Visual Studio設(shè)計器配置Panel
28.4 使用嵌套面板構(gòu)建窗口框架
28.4.1 構(gòu)建菜單系統(tǒng)
28.4.2 構(gòu)建工具條
28.4.3 構(gòu)建狀態(tài)條
28.4.4 完成UI設(shè)計
28.4.5 實現(xiàn)MouseEnter/MouseLeave事件處理程序
28.4.6 實現(xiàn)拼寫檢查邏輯
28.5 WPF命令
28.5.1 內(nèi)置的命令對象
28.5.2 將命令連接到Command屬性
28.5.3 將命令連接到任意行為
28.5.4 使用Open和Save命令
28.6 深入了解WPF API和控件
28.7 構(gòu)建Ink API選項卡
28.7.1 設(shè)計工具條
28.7.2 RadioButton控件
28.7.3 處理Ink API選項卡的事件
28.7.4 InkCanvas控件
28.7.5 ComboBox控件
28.7.6 保存、加載和清除InkCanvas數(shù)據(jù)
28.8 Documents API
28.8.1 塊元素和內(nèi)聯(lián)元素
28.8.2 文檔布局管理器
28.9 構(gòu)建Documents選項卡
28.9.1 使用代碼填充FlowDocument
28.9.2 啟用批注和便簽
28.9.3 保存和加載流文檔
28.10 WPF數(shù)據(jù)綁定模型
28.10.1 構(gòu)建Data Binding選項卡
28.10.2 使用Visual Studio建立數(shù)據(jù)綁定
28.10.3 DataContext屬性
28.10.4 使用IValueConverter進行數(shù)據(jù)轉(zhuǎn)換
28.10.5 在代碼中建立數(shù)據(jù)綁定
28.10.6 構(gòu)建DataGrid選項卡
28.11 小結(jié)
第29章 WPF圖形呈現(xiàn)服務(wù)
29.1 理解WPF的圖形呈現(xiàn)服務(wù)
29.2 使用形狀呈現(xiàn)圖形數(shù)據(jù)
29.2.1 在畫布中添加矩形、橢圓形和線條
29.2.2 在畫布中移除矩形、圓形和線條
29.2.3 折線和多邊形
29.2.4 路徑
29.3 WPF畫刷和畫筆
29.3.1 使用Visual Studio配置畫刷
29.3.2 在代碼中配置畫刷
29.3.3 配置畫筆
29.4 圖形變換
29.4.1 變換概覽
29.4.2 變換Canvas數(shù)據(jù)
29.5 使用Visual Studio變換編輯器
29.5.1 構(gòu)建初始布局
29.5.2 在設(shè)計時應用變換
29.5.3 在代碼中變換畫布
29.6 使用繪圖和幾何圖形呈現(xiàn)圖形數(shù)據(jù)
29.6.1 使用幾何圖形構(gòu)建DrawingBrush
29.6.2 用DrawingBrush進行繪畫
29.6.3 在DrawingImage中使用繪圖類型
29.7 Expression Design的作用
29.7.1 將示例設(shè)計文件導出為XAML
29.7.2 將圖像數(shù)據(jù)導入WPF對象
29.7.3 與熊共舞
29.8 使用可視化層呈現(xiàn)圖形數(shù)據(jù)
29.9 小結(jié)
第30章 WPF資源、動畫和樣式
30.1 理解WPF資源系統(tǒng)
30.2 使用對象(邏輯)資源
30.2.1 Resources屬性的作用
30.2.2 定義窗口級別的資源
30.2.3 {StaticResource}標記擴展
30.2.4 {DynamicResource}標記擴展
30.2.5 應用程序級別的資源
30.2.6 定義合并的資源字典
30.2.7 定義只含資源的程序集
30.3 理解WPF動畫服務(wù)
30.3.1 動畫類型的作用
30.3.2 To、From和By屬性
30.3.3 Timeline基類的作用
30.3.4 用C#代碼創(chuàng)建動畫
30.3.5 控制動畫的速度
30.3.6 動畫的反轉(zhuǎn)和循環(huán)
30.4 用XAML創(chuàng)建動畫
30.4.1 演示圖板的作用
30.4.2 事件觸發(fā)器的作用
30.4.3 使用不連續(xù)的關(guān)鍵幀創(chuàng)建動畫
30.5 WPF樣式的作用
30.5.1 定義并使用樣式
30.5.2 重寫樣式設(shè)置
30.5.3 使用TargetType自動應用樣式
30.5.4 繼承已有的樣式
30.5.5 未命名樣式的作用
30.5.6 使用觸發(fā)器定義樣式
30.5.7 使用多個觸發(fā)器定義樣式
30.5.8 動畫樣式
30.5.9 以編程方式設(shè)置樣式
30.6 小結(jié)
第31章 依賴屬性、路由事件和模板
31.1 依賴屬性的作用
31.1.1 已知的依賴屬性
31.1.2 CLR屬性包裝器的重要說明
31.2 構(gòu)建自定義依賴屬性
31.2.1 添加數(shù)據(jù)驗證例程
31.2.2 響應屬性的改變
31.3 路由事件
31.3.1 路由冒泡事件的作用
31.3.2 繼續(xù)或中止冒泡
31.3.3 路由隧道事件的作用
31.4 邏輯樹、可視樹和默認模板
31.4.1 以編程方式查看邏輯樹
31.4.2 以編程方式查看可視樹
31.4.3 以編程方式查看控件的默認模板
31.5 使用觸發(fā)器框架構(gòu)建自定義控件模板
31.5.1 模板資源
31.5.2 使用觸發(fā)器添加可視提示
31.5.3 {TemplateBinding}標記擴展的作用
31.5.4 ContentPresenter的作用
31.5.5 融合模板和樣式
31.6 小結(jié)
第八部分 ASP.NET Web Form
第32章 ASP.NET Web Form
32.1 HTTP的作用
32.1.1 HTTP請求/響應循環(huán)
32.1.2 HTTP是無狀態(tài)協(xié)議
32.2 Web應用程序和Web服務(wù)器
32.2.1 IIS虛擬目錄的作用
32.2.2 ASP.NET Development Web Server
32.3 HTML的作用
32.3.1 HTML文檔結(jié)構(gòu)
32.3.2 HTML表單的作用
32.3.3 Visual Studio HTML設(shè)計器工具
32.3.4 構(gòu)建HTML表單
32.4 客戶端腳本的作用
32.5 回發(fā)到Web服務(wù)器
32.6 ASP.NET API概覽
32.6.1 ASP.NET 2.0及其后續(xù)版本的主要特性
32.6.2 ASP.NET 3.5(和.NET 3.5 SP1)的主要特性
32.6.3 ASP.NET 4.0和4.5的主要特性
32.7 構(gòu)建單個文件的ASP.NET網(wǎng)頁
32.7.1 引用AutoLotDAL.dll
32.7.2 設(shè)計UI
32.7.3 添加數(shù)據(jù)訪問邏輯
32.7.4 ASP.NET指令的作用
32.7.5 腳本塊
32.7.6 ASP.NET控件聲明
32.8 使用代碼文件構(gòu)建ASP.NET Web頁面
32.8.1 引用AutoLotDAL.dll程序集
32.8.2 更新代碼文件
32.8.3 調(diào)試并跟蹤ASP.NET頁面
32.9 ASP.NET Web Site和ASP.NET Web Application
32.10 ASP.NET網(wǎng)站目錄結(jié)構(gòu)
32.10.1 引用程序集
32.10.2 App_Code文件夾的作用
32.11 頁面類型的繼承鏈
32.12 與傳入的HTTP請求交互
32.12.1 獲得瀏覽器統(tǒng)計數(shù)據(jù)
32.12.2 訪問傳入的表單數(shù)據(jù)
32.12.3 IsPostBack屬性
32.13 與輸出HTTP響應交互
32.13.1 提交HTML內(nèi)容
32.13.2 重定向用戶
32.14 ASP.NET網(wǎng)頁的生命周期
32.14.1 AutoEventWireUp特性的作用
32.14.2 Error事件
32.15 web.config文件的作用
32.16 小結(jié)
第33章 ASP.NET Web控件、母版頁和主題
33.1 Web控件的本質(zhì)
33.1.1 服務(wù)器端事件處理
33.1.2 AutoPostBack屬性
33.2 Control和WebControl基類
33.2.1 枚舉所包含的控件
33.2.2 動態(tài)添加和刪除控件
33.2.3 與動態(tài)創(chuàng)建的控件交互
33.2.4 WebControl基類的功能
33.3 ASP.NET Web控件的類別
33.3.1 關(guān)于System.Web.UI.HtmlControls的簡短說明
33.3.2 Web控件的文檔
33.4 構(gòu)建ASP.NET汽車網(wǎng)站
33.4.1 使用ASP.NET母版頁工作
33.4.2 定義默認的內(nèi)容頁面
33.4.3 設(shè)計Inventory內(nèi)容頁面
33.4.4 設(shè)計Build-a-Car內(nèi)容頁面
33.5 驗證控件的作用
33.5.1 開啟客戶端JavaScript驗證支持
33.5.2 RequiredFieldValidator
33.5.3 RegularExpressionValidator
33.5.4 RangeValidator
33.5.5 CompareValidator
33.5.6 創(chuàng)建ValidationSummary
33.5.7 定義驗證分組
33.6 使用主題
33.6.1 *.skin文件
33.6.2 應用網(wǎng)站級別的主題
33.6.3 在頁面級別應用主題
33.6.4 SkinID屬性
33.6.5 以編程方式分配主題
33.7 小結(jié)
第34章 ASP.NET狀態(tài)管理技術(shù)
34.1 狀態(tài)問題
34.2 ASP.NET狀態(tài)管理技術(shù)
34.3 ASP.NET視圖狀態(tài)的作用
34.3.1 演示視圖狀態(tài)
34.3.2 添加自定義視圖狀態(tài)數(shù)據(jù)
34.4 Global.asax文件的作用
34.4.1 全局最后異常事件處理程序
34.4.2 HttpApplication基類
34.5 應用程序狀態(tài)與會話狀態(tài)的差別
34.5.1 維護應用程序級的狀態(tài)數(shù)據(jù)
34.5.2 修改應用程序數(shù)據(jù)
34.5.3 處理Web應用程序的關(guān)閉
34.6 使用應用程序緩存
34.6.1 使用數(shù)據(jù)緩存
34.6.2 修改*.aspx文件
34.7 維護會話數(shù)據(jù)
34.8 cookie
34.8.1 創(chuàng)建cookie
34.8.2 讀取傳入的cookie數(shù)據(jù)
34.9 元素的作用
34.9.1 在ASP.NET會話狀態(tài)服務(wù)器中保存會話數(shù)據(jù)
34.9.2 把會話數(shù)據(jù)保存在專門的數(shù)據(jù)庫中
34.10 ASP.NET用戶配置API
34.10.1 ASPNETDB.mdf數(shù)據(jù)庫
34.10.2 在web.config中定義用戶配置
34.10.3 以編程方式訪問用戶配置數(shù)據(jù)
34.10.4 分組用戶配置數(shù)據(jù)并且持久化自定義對象
34.11 小結(jié)
索引

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號