MethodBase.IsGenericMethod 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取一个值,该值指示方法是否为泛型方法。
public:
virtual property bool IsGenericMethod { bool get(); };
public virtual bool IsGenericMethod { get; }
member this.IsGenericMethod : bool
Public Overridable ReadOnly Property IsGenericMethod As Boolean
属性值
如果当前 MethodBase 表示泛型方法,则为 true
;否则为 false
。
注解
IsGenericMethod使用 属性可确定当前 MethodBase 对象是否表示泛型方法。 ContainsGenericParameters使用 属性可以确定当前 MethodBase 对象是表示打开的构造方法还是封闭的构造方法。
注意
默认情况下不支持泛型;如果未在派生类中重写,则此属性返回 false
。 .NET Framework版本 2.0 不支持泛型构造函数,因此,如果当前实例的类型为 ConstructorInfo,则此属性返回 false
。
下表总结了特定于泛型方法的术语的固定条件。 有关泛型反射中使用的其他术语,例如 泛型类型参数 和 泛型类型,请参阅 Type.IsGenericType 属性。
术语 | 固定条件 |
---|---|
泛型方法定义 |
IsGenericMethodDefinition 属性为 true 。 定义泛型方法。 通过对表示泛型方法定义的 对象调用 MethodInfo.MakeGenericMethod 方法 MethodInfo 并指定类型参数数组来创建构造方法。 MakeGenericMethod只能对泛型方法定义调用 方法。 任何泛型方法定义都是泛型方法,但反之则不成立。 |
Generic Method — 泛型方法 |
IsGenericMethod 属性为 true 。 可以是泛型方法定义、开放式构造方法或封闭的构造方法。 |
open 构造方法 |
ContainsGenericParameters 属性为 true 。 无法调用开放式构造方法。 |
closed constructed 方法 |
ContainsGenericParameters 属性为 false 。 以递归方式检查时,该方法没有未分配的泛型参数。 包含类型没有泛型类型参数,并且类型参数都没有泛型类型参数。 可以调用 方法。 |