MethodBase.ContainsGenericParameters Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение, указывающее, содержит ли универсальный метод не присвоенные параметры универсального типа.
public:
virtual property bool ContainsGenericParameters { bool get(); };
public virtual bool ContainsGenericParameters { get; }
member this.ContainsGenericParameters : bool
Public Overridable ReadOnly Property ContainsGenericParameters As Boolean
Значение свойства
Значение true
, если текущий объект MethodBase представляет универсальный метод, который содержит не присвоенные параметры универсального типа; в обратном случае — значение false
.
Комментарии
Универсальный метод может вызываться только в том случае, если в аргументах типа самого метода или во включаемых типах отсутствуют определения универсальных типов или открытые сконструированные типы. Поскольку типы могут быть произвольно сложными, рекурсивное определение сложно. Для удобства и снижения вероятности ошибки ContainsGenericParameters свойство предоставляет стандартный способ различать закрытые сконструированные методы, которые могут вызываться, и открытые сконструированные методы, которые не могут быть созданы.
ContainsGenericParameters Если свойство возвращает true
значение , метод не может быть вызван.
Свойство ContainsGenericParameters выполняет рекурсивный поиск параметров типа. Например, он возвращает для true
любого метода в открытом типе A<T>
(A(Of T)
в Visual Basic), даже если сам метод не является универсальным. Сравните это с поведением IsGenericMethod свойства , которое возвращает false
для такого метода.
Аналогичным ContainsGenericParameters образом параметр свойства возвращает для true
любого конструктора открытого типа, даже если конструкторы не могут иметь собственные параметры типа.
Список инвариантных условий для терминов, относящихся к универсальным методам, см. в свойстве IsGenericMethod . Список инвариантных условий для других терминов, используемых в универсальном отражении, см. в свойстве Type.IsGenericType .