.NET Framework 中的泛型
更新:2007 年 11 月
泛型可讓您修正方法、類別、結構或是其運作所在的精確資料型別的介面。例如,您可使用 Dictionary<TKey, TValue> 泛型類別以及指定索引鍵允許的型別和值允許的型別,而不要使用允許任何型別之索引鍵和值的 Hashtable 類別。使用泛型的優點包括了增加程式碼的重複使用性和型別安全。
.NET Framework 中的 System.Collections.Generic 和 System.Collections.ObjectModel 命名空間 (Namespace) 內有提供一些泛型集合類別。System 命名空間中有提供用來實作排序和相等比較的泛型介面,連同事件處理常式、轉換和搜尋述詞 (Predicate) 的泛型委派型別。
System.Reflection 中加入的泛型支援,可檢查泛型型別和泛型方法;System.Reflection.Emit 中加入的泛型支援,可發出包含泛型型別和方法的動態組件;System.CodeDom 中加入的泛型支援,可產生包含泛型的來源圖形。
Visual Basic、C# 和 Visual C++ 對泛型型別的定義和使用有提供完整的支援。Common Language Runtime 提供了新的 opcode 和前置詞來支援 Microsoft Intermediate Language (MSIL) 中的泛型型別。
在本節中
.NET Framework 中的泛型概觀
描述泛型功能、此功能帶給 .NET Framework 的能力,以及在 Common Language Runtime 中公開此功能的方式。.NET Framework 中的泛型集合
描述 .NET Framework 中的泛型集合類別和其他泛型型別。管理陣列和清單的泛型委派
描述轉換、搜尋述詞以及在陣列或集合元素上要採取的動作之泛型委派。泛型介面
描述提供跨泛型型別系列的通用功能之泛型介面。泛型的優點和限制
摘要說明使用泛型的優點和限制。
參考
System.Collections.Generic
將 .NET Framework 提供的多數泛型集合型別編目,例如 List<T> 和 Dictionary<TKey, TValue> 泛型類別。System.Collections.ObjectModel
將對於向類別使用者公開物件模型非常實用的其他泛型集合型別編目,例如 ReadOnlyCollection<T> 泛型類別。OpCodes
已加入新的 opcode 和前置詞來支援泛型,其中包括 Stelem、Ldelem、Unbox_Any、Constrained 和 Readonly。
相關章節
常用的集合型別
提供與 .NET Framework 中的集合型別之特性和使用案例有關的摘要資訊,其中包括泛型型別。何時使用泛型集合
描述用來判斷何時使用泛型集合型別的一般規則。反映和泛用型別
說明如何使用反映 (Reflection) 來檢查泛型型別和方法。HOW TO:使用反映發出定義泛型型別
說明如何產生動態組件,包括泛型型別和方法。Visual Basic 中的泛型型別
描述 Visual Basic 使用者的泛型功能,包括使用及定義泛型型別的 HOW TO 主題。泛型簡介 (C# 程式設計手冊)
提供針對 C# 使用者定義及使用泛型型別的概觀。Overview of Generics in Visual C++
描述 C++ 使用者的泛型功能,包括泛型和樣板之間的差異。