Genéricos y reflexión (Guía de programación de C#)
Actualización: noviembre 2007
Debido a que el Common Language Runtime (CLR) tiene acceso a información de tipo genérico en tiempo de ejecución, es posible usar la reflexión para obtener información sobre tipos genéricos de la misma forma que para tipos no genéricos. Para obtener más información, vea Genéricos en el motor en tiempo de ejecución (Guía de programación de C#).
En .NET Framework 2.0, se agregan varios miembros nuevos a la clase Type para habilitar la información en tiempo de ejecución para los tipos genéricos. Consulte la documentación existente sobre estas clases para obtener más información sobre cómo utilizar estos métodos y propiedades. El espacio de nombres System.Reflection.Emit también contiene algunos miembros nuevos que admiten genéricos. Vea Cómo: Definir un tipo genérico con Reflection Emit.
Para obtener una lista de las condiciones invariables utilizadas en la reflexión genérica, vea los comentarios de la propiedad IsGenericType.
Nombre de miembro System.Type |
Descripción |
---|---|
Devuelve true si un tipo es genérico. |
|
Devuelve una matriz de objetos Type que representan los argumentos de tipo suministrados para un tipo construido o los parámetros de tipo de una definición de tipo genérico. |
|
Devuelve la definición de tipo genérico subyacente para el tipo construido actual. |
|
Devuelve una matriz de objetos Type que representan las restricciones en el parámetro de tipo genérico actual. |
|
Devuelve true si el tipo o cualquiera de los tipos o métodos que incluye contiene parámetros de tipo para los que no se han proporcionado tipos específicos. |
|
Obtiene una combinación de marcadores GenericParameterAttributes que describen las restricciones especiales del parámetro de tipo genérico actual. |
|
En un objeto Type que representa un parámetro de tipo, obtiene la posición de éste en la lista de parámetros de tipo de la definición de tipo genérico o la definición de método genérico que declaró el parámetro de tipo. |
|
Obtiene un valor que indica si el objeto Type actual representa un parámetro de tipo de un tipo genérico o de una definición de método. |
|
Obtiene un valor que indica si el Type actual representa una definición de tipo genérico, a partir de la cual se pueden construir otros tipos genéricos. Devuelve true si el tipo representa la definición de un tipo genérico. |
|
Devuelve el método genérico que definió el parámetro de tipo genérico actual o null si un método genérico no define el parámetro de tipo. |
|
Sustituye los elementos de una matriz de tipos por los parámetros de tipo de la definición de tipo genérico actual y devuelve un objeto Type que representa el tipo construido resultante. |
Además, se agregan miembros nuevos a la clase MethodInfo para habilitar la información en tiempo de ejecución para los métodos genéricos. Vea los comentarios de la propiedad IsGenericMethod para obtener una lista de condiciones invariables que se utilizan para reflejarlas en métodos genéricos.
Nombre de miembro System.Reflection.MemberInfo |
Descripción |
---|---|
Devuelve true si un método es genérico. |
|
Devuelve una matriz de objetos Type que representan los argumentos de tipo de un método genérico construido o los parámetros de tipo de una definición de método genérico. |
|
Devuelve la definición de método genérico subyacente para el método construido actual. |
|
Devuelve true si el método o cualquiera de los tipos que incluye contiene cualquier parámetro de tipo para el que no se han proporcionado tipos específicos. |
|
Devuelve true si el objeto MethodInfo actual representa la definición de un método genérico. |
|
Sustituye los elementos de una matriz de tipos por los parámetros de tipo de la definición de método genérico actual y devuelve un objeto MethodInfo que representa el método construido resultante. |
Vea también
Conceptos
Información general sobre la reflexión y los genéricos
Referencia
Genéricos (Guía de programación de C#)