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

Значение свойства

Boolean

Значение true, если текущий объект MethodBase представляет универсальный метод, который содержит не присвоенные параметры универсального типа; в обратном случае — значение false.

Комментарии

Универсальный метод можно вызывать только в том случае, если в аргументах типа самого метода нет определений универсальных типов или открытых сконструированных типов. Поскольку типы могут быть произвольно сложными, это рекурсивное определение является трудным. Для удобства и снижения вероятности ошибки ContainsGenericParameters свойство предоставляет стандартный способ различать закрытые созданные методы, которые можно вызывать, и открытые созданные методы, которые не могут быть созданы. ContainsGenericParameters Если свойство возвращаетсяtrue, метод не может быть вызван.

Свойство ContainsGenericParameters выполняет рекурсивный поиск параметров типа. Например, он возвращает true любой метод в открытом типе A<T> (A(Of T)в Visual Basic), даже если сам метод не является универсальным. Сравните это с поведением IsGenericMethod свойства, которое возвращается false для такого метода.

ContainsGenericParameters Аналогичным образом параметр свойства возвращается true для любого конструктора открытого типа, даже если конструкторы не могут иметь собственные параметры типа.

Список инвариантных условий для терминов, относящихся к универсальным методам, см. в свойстве IsGenericMethod . Список инвариантных условий для других терминов, используемых в универсальном отражении, см. в свойстве Type.IsGenericType .

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

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