反映和泛用型別
更新:2007 年 11 月
從反映 (Reflection) 的觀點來看,泛型型別和一般型別之間的差異在於泛型型別會將一組型別參數 (如果它是泛型型別定義) 或是型別引數 (如果它是建構的型別) 與它產生關聯。泛型方法與一般方法的差異處也是同樣的情形。
反映中的問題是要提供一個方法來檢查這個型別參數陣列或型別引數陣列。如果是型別參數,則反映也必須提供一個方法來檢查條件約束。本章節將描述可提供能力來檢查泛型型別和方法的 Type 與 MethodInfo 類別的方法。
在本節中
反映和泛型概觀
說明為了對泛型型別和方法的反映有所瞭解所需要知道的兩個關鍵事項,以及介紹可解除鎖定泛型的最重要屬性和方法。HOW TO:使用反映檢視和執行個體化泛型型別
示範如何使用 Type 和 MethodInfo 的屬性和方法來檢查泛型型別。
參考
Type.IsGenericType
針對討論泛型型別和方法所用之詞彙提供不變項目的表格。MethodInfo.IsGenericMethod
針對討論泛型方法所用之詞彙提供不變項目的表格。
相關章節
.NET Framework 中的泛型概觀
描述泛型功能,以及介紹與泛型有關的用語。HOW TO:使用反映發出定義泛型型別
示範如何使用反映發出來產生動態組件中的泛型型別。檢視型別資訊
描述 Type 類別,並提供程式碼範例,以說明如何將 Type 與各種反映類別一起使用,以取得與建構函式、方法、欄位、屬性和事件有關的資訊。