Agujeros Negros en el .NET [I Parte]
Reflexionar información de miembros a reflexionar información de Métodos hay una gran diferencia, la razón más sencilla es que existen demasiados y distintos miembros, incluyendo propiedades, campos, métodos, constructores, etc.
Cuando se quiere o necesita obtener información de un miembro en especial, se emplea la clase: MemberInfo de Reflection!, hasta ahi todo bien, MemberInfo cuenta con una propiedad llamada: MemberType para determinar que tipo de miembro se estará consultando.
Cuando se trata con miembros de un tipo especifico, se puede obtener una información más detallada sobre ese miembro utilizando la clase más apropiada. Por ejemplo, digamos que necesitamos abstraer información más detallada sobre una propiedad desde la clase PropertyInfo. Tambien están disponibles las clases similares como ConstructorInfo, MethodInfo, FieldInfo, EventInfo y ParameterInfo. Cada una de estas clases tiene su correspondiente método: “GetXXXX” en el tipo contenido.
Como ejemplo propuesto, plantearemos una clase <genérica> con sus respectivos campos, y propiedades.
Y en el método principal iria!
La aplicación ejectuada da como resultado:
Un detalle, es que se puede ver el VALOR DE UN CAMPO PRIVADO!!, OJO!!, que estamos en el Framework 4.0!!, en fin…, es uno de los tantos HUECOS QUE TIENE EL .NET, pero de esta forma se puede ver e incluso modificar el valor de un campo con ámbito privado!!, la solución la mostraré en otra entrada…, ya que anímicamente no me siento nada bien …
Enjoy!!



