MethodBase.GetGenericArguments 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回 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 对象的数组,这些对象表示泛型方法的类型变量或泛型方法定义的类型参数。 如果当前方法不是泛型方法,则返回空数组。
- 属性
例外
当前对象是 ConstructorInfo。 .NET Framework 2.0 版不支持泛型构造函数。 如果派生类未重写此方法,此异常即为默认行为。
注解
返回的数组的元素按它们在泛型方法的类型参数列表中出现的顺序。
如果当前方法是封闭的构造方法 (即属性 ContainsGenericParameters 返回
false
) ,则该方法返回 GetGenericArguments 的数组包含已分配给泛型方法定义的泛型类型参数的类型。如果当前方法是泛型方法定义,则数组包含类型参数。
如果当前方法是打开的构造方法 (即, ContainsGenericParameters 属性返回
true
) 其中特定类型已分配给某些类型参数,而封闭泛型类型的类型参数已分配给其他类型参数,则数组同时包含类型和类型参数。 IsGenericParameter使用 属性区分它们。 有关此方案的演示,请参阅为 ContainsGenericParameters 属性提供的代码示例。
.NET Framework 2.0 版不支持泛型构造函数。 如果未在派生类中重写,则此属性将引发 NotSupportedException ,因此,如果当前实例的类型为 ConstructorInfo,则会引发异常。
有关特定于泛型方法的术语的固定条件列表,请参阅 IsGenericMethod 属性。 有关泛型反射中使用的其他术语的固定条件列表,请参阅 Type.IsGenericType 属性。