您好,登錄后才能下訂單哦!
這篇文章主要講解了“C#泛型方法中反射常用方法有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C#泛型方法中反射常用方法有哪些”吧!
C# 泛型方法中反射常用方法使用的:因為公共語言運行庫 (CLR) 能夠在運行時訪問泛型類型信息,所以可以使用反射獲取關于泛型類型的信息,方法與用于非泛型類型的方法相同。在 .NET Framework 2.0 中, Type 類增添了幾個新成員以啟用泛型類型的運行時信息。System.Reflection.Emit 命名空間還包含支持泛型的新成員。
C# 泛型方法中反射常用方法之System.Type成員
◆IsGenericType
如果類型為泛型,則返回 true。
◆GetGenericArguments
返回 Type 對象數組,這些對象表示為構造類型提供的類型變量,或泛型類型定義的類型參數。
◆GetGenericTypeDefinition
返回當前構造類型的基礎泛型類型定義。
◆GetGenericParameterConstraints
返回表示當前泛型類型參數約束的 Type 對象的數組。
◆ContainsGenericParameters
如果類型或其任意封閉類型或方法包含沒有被提供特定類型的類型參數,則返回 true。
◆GenericParameterAttributes
獲取 GenericParameterAttributes 標志的組合,這些標志描述當前泛型類型參數的特殊約束。
◆GenericParameterPosition
對于表示類型參數的 Type 對象,獲取類型參數在聲明該類型參數的泛型類型定義或泛型方法定義的類型參數列表中的位置。
◆IsGenericParameter
獲取一個值,該值指示當前 Type 是表示泛型類型定義的類型參數,還是泛型方法定義的類型參數。
◆IsGenericTypeDefinition
獲取一個值,該值指示當前 Type 是否表示可以用來構造其他泛型類型的泛型類型定義。如果類型表示泛型類型的定義,則返回 true。
◆DeclaringMethod
返回定義當前泛型類型參數的泛型方法;如果類型參數不是由泛型方法定義的,則返回空值。
◆MakeGenericType
用類型數組的元素替代當前泛型類型定義的類型參數,并返回表示結果構造類型的 Type 對象。
此外, MethodInfo 類中還添加了新成員以啟用泛型方法的運行時信息。
C# 泛型方法中反射常用方法之System.Reflection.MemberInfo成員
◆IsGenericMethod
如果方法為泛型,則返回 true。
◆GetGenericArguments
返回 Type 對象數組,這些對象表示構造泛型方法的類型變量,或泛型方法定義的類型參數。
◆GetGenericMethodDefinition
返回當前構造方法的基礎泛型方法定義。
◆ContainsGenericParameters
如果方法或其任意封閉類型包含沒有被提供特定類型的任何類型參數,則返回 true。
◆IsGenericMethodDefinition
如果當前 MethodInfo 表示泛型方法的定義,則返回 true。
◆MakeGenericMethod
用類型數組的元素替代當前泛型方法定義的類型參數,并返回表示結果構造方法的 MethodInfo 對象。
感謝各位的閱讀,以上就是“C#泛型方法中反射常用方法有哪些”的內容了,經過本文的學習后,相信大家對C#泛型方法中反射常用方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。