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 .