vtortola.Net

Mayo 17, 2007

Recorrer las propiedades de un objeto

Archivado en: .NET, C#, Reflection — vtortola @ 9:04 am

Resulta que a través de un web service me llega un objeto con una gran cantidad de propiedades que he de mostrar, así que como no quería tener que escribirlas una a una me puse a buscar como recorrer todas las propiedades del objeto con System.Reflection.

El ejemplo muestra la sencillez y potencia que tiene System.Reflection para obtener datos y metadatos de una clase:

/// <summary>
/// Devuelve todas las propiedades de un objeto en formato string
/// como un diccionario donde la clave es el nombre de la propiedad.
/// </summary>
/// <param name=”o”>Cualquier objeto.</param>
/// <returns>Diccionario con la colección de propiedades.</returns>
private Dictionary<string, string> GetPropiedades(object o)
{

Dictionary<string, string> result = new Dictionary<string, string>();

foreach (MemberInfo mi in o.GetType().GetMembers())
{

if (mi.MemberType == MemberTypes.Property)
{

PropertyInfo pi = mi as PropertyInfo;
if (pi != null)
{

result.Add(pi.Name, pi.GetValue(o, null).ToString());

}

}

}
return result;

}

MemberInfo Class

PropertyInfo Class

2 comentarios »

  1. tambien quiero tener un blog como el tuyo

    comentario por sandra — Mayo 22, 2007 @ 10:03 pm

  2. Pues entras en wordpress.com, registras uno y empiezas a escribir ;D

    El que no tiene uno es porque no quiere :)

    comentario por vtortola — Mayo 24, 2007 @ 10:04 pm


Canal RSS de los comentarios de la entrada. URI para TrackBack.

Deja un comentario

Tienes que iniciar sesión para escribir un comentario.

Blog de WordPress.com.