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, представляющих аргументы типа, относящиеся к универсальному методу, или параметры типа определения универсального метода. Возвращает пустой массив, если текущий метод не является универсальным методом.
- Атрибуты
Исключения
Текущий объект является объектом ConstructorInfo. Универсальные конструкторы в платформе .NET Framework версии 2.0 не поддерживаются. Это исключение является поведением по умолчанию, если этот метод не переопределен в производном классе.
Комментарии
Элементы возвращаемого массива находятся в том порядке, в котором они отображаются в списке параметров типа для универсального метода.
Если текущий метод является закрытым сконструированным методом (то есть свойство возвращает
false
), массив, ContainsGenericParameters возвращаемый методом GetGenericArguments , содержит типы, назначенные параметрам универсального типа определения универсального метода.Если текущий метод является определением универсального метода, массив содержит параметры типа.
Если текущий метод является открытым сконструированным методом (то есть ContainsGenericParameters свойство возвращает
true
), в котором определенные типы были назначены некоторым параметрам типа, а параметры типа включаемых универсальных типов были назначены другим параметрам типа, массив содержит как типы, так и параметры типа. Используйте свойство , IsGenericParameter чтобы отличить их друг от друга. Демонстрацию этого сценария см. в примере кода, предоставленном ContainsGenericParameters для свойства .
Универсальные конструкторы в платформе .NET Framework версии 2.0 не поддерживаются. Это свойство создает исключение NotSupportedException , если не переопределяется в производном классе, поэтому исключение создается, если текущий экземпляр имеет тип ConstructorInfo.
Список инвариантных условий для терминов, относящихся к универсальным методам, см. в свойстве IsGenericMethod . Список инвариантных условий для других терминов, используемых в универсальном отражении, см. в свойстве Type.IsGenericType .