MethodBase.GetGenericArguments 方法

定义

返回 Type 对象的数组,这些对象表示泛型方法的类型实参或泛型方法定义的类型形参。

public:
 virtual cli::array <Type ^> ^ GetGenericArguments();
public virtual Type[] GetGenericArguments ();
[System.Runtime.InteropServices.ComVisible(true)]
public virtual Type[] GetGenericArguments ();
abstract member GetGenericArguments : unit -> Type[]
override this.GetGenericArguments : unit -> Type[]
[<System.Runtime.InteropServices.ComVisible(true)>]
abstract member GetGenericArguments : unit -> Type[]
override this.GetGenericArguments : unit -> Type[]
Public Overridable Function GetGenericArguments () As Type()

返回

Type[]

Type 对象的数组,这些对象表示泛型方法的类型变量或泛型方法定义的类型参数。 如果当前方法不是泛型方法,则返回空数组。

属性

例外

当前对象是 ConstructorInfo。 .NET Framework 2.0 版不支持泛型构造函数。 如果派生类未重写此方法,此异常即为默认行为。

注解

返回的数组的元素按它们在泛型方法的类型参数列表中出现的顺序。

  • 如果当前方法是封闭的构造方法 (即属性 ContainsGenericParameters 返回 false) ,则该方法返回 GetGenericArguments 的数组包含已分配给泛型方法定义的泛型类型参数的类型。

  • 如果当前方法是泛型方法定义,则数组包含类型参数。

  • 如果当前方法是打开的构造方法 (即, ContainsGenericParameters 属性返回 true) 其中特定类型已分配给某些类型参数,而封闭泛型类型的类型参数已分配给其他类型参数,则数组同时包含类型和类型参数。 IsGenericParameter使用 属性区分它们。 有关此方案的演示,请参阅为 ContainsGenericParameters 属性提供的代码示例。

.NET Framework 2.0 版不支持泛型构造函数。 如果未在派生类中重写,则此属性将引发 NotSupportedException ,因此,如果当前实例的类型为 ConstructorInfo,则会引发异常。

有关特定于泛型方法的术语的固定条件列表,请参阅 IsGenericMethod 属性。 有关泛型反射中使用的其他术语的固定条件列表,请参阅 Type.IsGenericType 属性。

适用于

另请参阅