martes, 22 de noviembre de 2011

Obtener todas las propiedades de una clase

Recientemente necesite consumir un WebService que me regresaba un objeto que contaba con cientos de propiedades. Puesto a que no sabía exactamente cuál de todas ellas era la que buscaba, me di a la tarea de buscar una manera de cargar en un Grid todas sus propiedades junto con su valor correspondiente.

Después de un par de búsquedas en internet, y unas cuantas compiladas sin resultado, llegue al siguiente código que realiza la actividad perfectamente.

using System.Reflection; 

foreach (MemberInfo mi in NOMBRE_CLASE.GetType().GetMembers())

    try 
    { 
       if (mi != null && mi.MemberType == MemberTypes.Property) 
       { 
          PropertyInfo pi = mi as PropertyInfo; 
          if (pi != null) 
            Table.Rows.Add(mi.Name, pi.GetValue(NOMBRE_CLASE, null).ToString()); 
       } 
    } catch { } 
}

Nota:
El código lo tome de varios sitios del web, cuando tenga un poco de tiempo pondré los sitios de referencia.

No hay comentarios:

Publicar un comentario