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


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свойство), массив, возвращаемый GetGenericArguments методом, ContainsGenericParameters содержит типы, назначенные параметрам универсального типа определения универсального метода.

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

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

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

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

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

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