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 .