C# 泛型方法中反射常用方法浅析

开发 后端
C# 泛型方法中反射常用方法都是什么呢?C# 泛型方法中反射常用方法使用的各自特点又是什么呢?那么本文就向你介绍详细的内容。

C# 泛型方法中反射常用方法使用的:因为公共语言运行库 (CLR) 能够在运行时访问泛型类型信息,所以可以使用反射获取关于泛型类型的信息,方法与用于非泛型类型的方法相同。在 .NET Framework 2.0 中, Type 类增添了几个新成员以启用泛型类型的运行时信息。System.Reflection.Emit 命名空间还包含支持泛型的新成员。有关泛型反射中使用的术语的固定条件列表,请参见IsGenericType 属性备注。

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# 泛型方法反射中使用的术语的固定条件列表,请参见 IsGenericMethod 属性备注。

C# 泛型方法中反射常用方法之System.Reflection.MemberInfo成员

◆IsGenericMethod

如果方法为泛型,则返回 true。

◆GetGenericArguments

返回 Type 对象数组,这些对象表示构造泛型方法的类型变量,或泛型方法定义的类型参数。

◆GetGenericMethodDefinition

返回当前构造方法的基础泛型方法定义。

◆ContainsGenericParameters

如果方法或其任意封闭类型包含没有被提供特定类型的任何类型参数,则返回 true。

◆IsGenericMethodDefinition

如果当前 MethodInfo 表示泛型方法的定义,则返回 true。

◆MakeGenericMethod

用类型数组的元素替代当前泛型方法定义的类型参数,并返回表示结果构造方法的 MethodInfo 对象。

C# 泛型方法中反射常用方法就向你介绍到这里,希望对你了解和学习C# 泛型方法中反射常用方法有所帮助。

【编辑推荐】

  1. C# 泛型接口应用浅析
  2. C# 泛型方法概念及使用浅析
  3. C# 泛型数组学习小结
  4. C# 泛型委托学习经验浅析
  5. 浅析运行库中的C# 泛型
责任编辑:仲衡 来源: MSDN
相关推荐

2009-08-24 15:28:19

C# 泛型方法

2009-08-24 16:39:19

C# 泛型应用

2009-08-17 17:56:32

C# 枚举

2009-08-24 18:15:24

C# Dictiona

2009-08-24 15:12:13

C# 泛型接口

2009-08-24 14:51:25

C# 泛型泛型类型

2013-03-20 09:27:33

C#泛型

2009-08-24 16:01:44

C# 泛型

2009-08-24 17:58:19

C# 泛型集合

2009-08-24 17:27:05

C#泛型应用

2009-08-24 15:50:23

C# 泛型C# 泛型委托

2009-08-24 11:35:20

C# 泛型应用

2009-08-24 14:20:13

C# 强制类型转换

2009-08-24 13:41:23

C# 泛型约束

2009-08-24 13:31:38

C# 泛型约束

2009-08-24 10:37:27

C# 泛型

2009-08-24 10:07:57

C#泛型处理

2009-08-24 17:39:21

C# 泛型集合

2009-09-11 09:15:06

C# get方法

2009-08-10 17:36:17

C#扩展方法
点赞
收藏

51CTO技术栈公众号