Поделиться через


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 не поддерживаются. Это исключение является поведением по умолчанию, если этот метод не переопределен в производном классе.

Комментарии

Элементы возвращаемого массива находятся в том порядке, в котором они отображаются в списке параметров типа для универсального метода.

  • Если текущий метод является закрытым сконструированным методом (то есть свойство возвращает false), массив, ContainsGenericParameters возвращаемый методом GetGenericArguments , содержит типы, назначенные параметрам универсального типа определения универсального метода.

  • Если текущий метод является определением универсального метода, массив содержит параметры типа.

  • Если текущий метод является открытым сконструированным методом (то есть ContainsGenericParameters свойство возвращает true), в котором определенные типы были назначены некоторым параметрам типа, а параметры типа включаемых универсальных типов были назначены другим параметрам типа, массив содержит как типы, так и параметры типа. Используйте свойство , IsGenericParameter чтобы отличить их друг от друга. Демонстрацию этого сценария см. в примере кода, предоставленном ContainsGenericParameters для свойства .

Универсальные конструкторы в платформе .NET Framework версии 2.0 не поддерживаются. Это свойство создает исключение NotSupportedException , если не переопределяется в производном классе, поэтому исключение создается, если текущий экземпляр имеет тип ConstructorInfo.

Список инвариантных условий для терминов, относящихся к универсальным методам, см. в свойстве IsGenericMethod . Список инвариантных условий для других терминов, используемых в универсальном отражении, см. в свойстве Type.IsGenericType .

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

См. также раздел