MethodBase.ContainsGenericParameters Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene un valor que indica si el método genérico contiene parámetros de tipo genérico sin asignar.
public:
virtual property bool ContainsGenericParameters { bool get(); };
public virtual bool ContainsGenericParameters { get; }
member this.ContainsGenericParameters : bool
Public Overridable ReadOnly Property ContainsGenericParameters As Boolean
Valor de propiedad
true
si el objeto MethodBase actual representa un método genérico que contiene parámetros de tipo genérico sin asignar; de lo contrario, false
.
Comentarios
Un método genérico solo se puede invocar si no hay definiciones de tipos genéricos ni tipos construidos abiertos en los argumentos de tipo del propio método o en cualquier tipo envolvente. Dado que los tipos pueden ser arbitrariamente complejos, es difícil hacer que esta determinación recursiva sea difícil. Para mayor comodidad y para reducir la posibilidad de error, la ContainsGenericParameters propiedad proporciona una manera estándar de distinguir entre los métodos construidos cerrados, que se pueden invocar y los métodos construidos abiertos, que no pueden. Si la ContainsGenericParameters propiedad devuelve true
, no se puede invocar el método .
La ContainsGenericParameters propiedad busca de forma recursiva parámetros de tipo. Por ejemplo, devuelve true
para cualquier método de un tipo A<T>
abierto (A(Of T)
en Visual Basic), aunque el propio método no sea genérico. Compare esto con el comportamiento de la IsGenericMethod propiedad , que devuelve false
para este método.
Del mismo modo, el ContainsGenericParameters parámetro de propiedad devuelve true
para cualquier constructor de un tipo abierto, aunque los constructores no puedan tener parámetros de tipo propios.
Para obtener una lista de las condiciones invariables de los términos específicos de los métodos genéricos, vea la IsGenericMethod propiedad . Para obtener una lista de las condiciones invariables para otros términos usados en la reflexión genérica, vea la Type.IsGenericType propiedad .