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 .

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

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