MethodBase.GetGenericArguments Метод

Определение

Возвращает массив объектов Type, которые представляют аргументы универсального метода, относящиеся к типу, или параметры типа определения универсального метода.Returns an array of Type objects that represent the type arguments of a generic method or the type parameters of a generic method definition.

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

Возвращаемое значение

Type[]

Массив объектов Type, представляющих аргументы типа, относящиеся к универсальному методу, или параметры типа определения универсального метода.An array of Type objects that represent the type arguments of a generic method or the type parameters of a generic method definition. Возвращает пустой массив, если текущий метод не является универсальным методом.Returns an empty array if the current method is not a generic method.

Атрибуты

Исключения

Текущий объект является объектом ConstructorInfo.The current object is a ConstructorInfo. Универсальные конструкторы в платформе .NET Framework версии 2.0 не поддерживаются.Generic constructors are not supported in the .NET Framework version 2.0. Это исключение является поведением по умолчанию, если этот метод не переопределен в производном классе.This exception is the default behavior if this method is not overridden in a derived class.

Комментарии

Элементы возвращаемого массива находятся в том порядке, в котором они отображаются в списке параметров типа для универсального метода.The elements of the returned array are in the order in which they appear in the list of type parameters for the generic method.

  • Если текущий метод является закрытым сконструированным методом (то есть свойство ContainsGenericParameters возвращает false), то массив, возвращаемый методом GetGenericArguments, содержит типы, которые были назначены параметрам универсального типа определения универсального метода.If the current method is a closed constructed method (that is, the ContainsGenericParameters property returns false), the array returned by the GetGenericArguments method contains the types that have been assigned to the generic type parameters of the generic method definition.

  • Если текущий метод является определением универсального метода, массив содержит параметры типа.If the current method is a generic method definition, the array contains the type parameters.

  • Если текущий метод является открытым сконструированным методом (то есть свойство ContainsGenericParameters возвращает true), в котором определенные типы были назначены некоторым параметрам типа, а параметры типа включающих универсальных типов были назначены другим параметрам типа, массив содержит оба типа и параметры типа.If the current method is an open constructed method (that is, the ContainsGenericParameters property returns true) in which specific types have been assigned to some type parameters and type parameters of enclosing generic types have been assigned to other type parameters, the array contains both types and type parameters. Используйте свойство IsGenericParameter, чтобы отличить их друг от друга.Use the IsGenericParameter property to tell them apart. Демонстрацию этого сценария см. в примере кода, приведенном для свойства ContainsGenericParameters.For a demonstration of this scenario, see the code example provided for the ContainsGenericParameters property.

Универсальные конструкторы в платформе .NET Framework версии 2.0 не поддерживаются.Generic constructors are not supported in the .NET Framework version 2.0. Это свойство создает исключение NotSupportedException, если оно не переопределено в производном классе, поэтому исключение создается, если текущий экземпляр имеет тип ConstructorInfo.This property throws NotSupportedException if not overridden in a derived class, so an exception is thrown if the current instance is of type ConstructorInfo.

Список инвариантных условий для терминов, относящихся к универсальным методам, см. в описании свойства IsGenericMethod.For a list of the invariant conditions for terms specific to generic methods, see the IsGenericMethod property. Список инвариантных условий для других терминов, используемых в универсальном отражении, см. в описании свойства Type.IsGenericType.For a list of the invariant conditions for other terms used in generic reflection, see the Type.IsGenericType property.

Применяется к

Дополнительно