Modelos de diseño utilizados por las clases de reflexión
Los métodos más usados en el espacio de nombres System.Reflection utilizan un modelo coherente. Los miembros de las clases Module, Type y MemberInfo utilizan los modelos de diseño que se muestran en la siguiente tabla.
Prototipo de miembro |
Descripción |
---|---|
MyInstance[] FindXxx(filter, filterCriteria) |
Busca y devuelve una lista filtrada de tipos, o una matriz vacía si el tipo actual no implementa ningún tipo que coincida con el filtro. Ejemplo: Type.FindInterfaces |
MyInstance GetXxx (<parameters>) |
Devuelve el tipo que se especifica <de manera única medianteparameters>. Si no existe dicho tipo, el miembro devolverá una referencia nula (Nothing en Visual Basic). Observe que <parameters> especifica de forma exclusiva una instancia. Ejemplo: Type.GetInterface |
MyInstance[] GetXxxs() |
Devuelve todos los tipos públicos. Si no existen, el miembro devolverá una matriz vacía. Ejemplo: Type.GetFields |
MyInstance [] GetXxxs (<parameters>) |
Devuelve todos los tipos especificados por <parameters>. Si no hay ninguno, el miembro devolverá una matriz vacía. Observe que <parameters> no especifica necesariamente una instancia única. |
Otro modelo de diseño común consiste en el uso de delegados. Se suelen utilizar en la reflexión para habilitar el filtrado de los resultados de los métodos que devuelven matrices de objetos.