使用英语阅读

通过


MethodBase.IsGenericMethod 属性

定义

获取一个值,该值指示方法是否为泛型方法。

C#
public virtual bool IsGenericMethod { get; }

属性值

如果当前 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
以递归方式检查时,该方法没有未分配的泛型参数。 包含类型没有泛型类型参数,并且类型参数都没有泛型类型参数。
可以调用 方法。

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

另请参阅