2010-04-28 13 views
5

Digamos que tengo:¿Hay un método .NET incorporado para obtener todas las propiedades y valores para un objeto?

public class Item 
{ 
    public string SKU {get; set; } 
    public string Description {get; set; } 
} 

.... 

¿Hay un método integrado en .NET que me permita obtener las propiedades y valores para la variable i de tipo Item que podría tener este aspecto:

{SKU: "123-4556", Description: "Millennial Radio Classic"} 

Sé que .ToString() puede estar sobrecargado para proporcionar esta funcionalidad, pero no recuerdo si esto ya se proporcionó en .NET.

Respuesta

5

El formato que ha descrito como ejemplo se parece mucho a JSON, por lo que podría utilizar el JavaScriptSerializer:

string value = new JavaScriptSerializer().Serialize(myItem); 
+0

Creo que mi cerebro ha estado en el modo JSON últimamente. Realmente estoy buscando una manera fácil de imprimir un objeto en la consola, pero sí, definitivamente se parece a JSON. –

5

Si no se JSON que está utilizando y simplemente normal de clase C#, tienen alook en System.Reflection espacio de nombres

algo similar funcionaría

Item item = new Item(); 
foreach (PropertyInfo info in item.GetType().GetProperties()) 
{ 
    if (info.CanRead) 
    { 

     // To retrieve value 
     object o = info.GetValue(myObject, null); 

     // To Set Value 
     info.SetValue("SKU", "NewValue", null); 
    } 
} 

equipado con, usted debe tener properget y set en su sitio para el properties que desea trabajar.

Cuestiones relacionadas