2010-04-28 16 views
5

Diciamo che ho:Esiste un metodo .NET integrato per ottenere tutte le proprietà e i valori per un oggetto?

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

.... 

Esiste un metodo incorporato in .NET che mi permetta di ottenere le proprietà ei valori per la variabile i di tipo Item che potrebbe essere simile a questo:

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

So che .ToString() può essere sovraccaricato per fornire questo functionaility, ma non riuscivo a ricordare se questo fosse già fornito in .NET.

risposta

5

Il formato che hai descritto come esempio assomiglia molto JSON, quindi è possibile utilizzare il JavaScriptSerializer:

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

Credo che il mio cervello è stato in modalità JSON ultimamente. Sto solo cercando un modo semplice per stampare un oggetto nella console, ma sì, sembra decisamente JSON. –

5

Se non è JSON che si sta utilizzando e solo normale classe C#, hanno alook a System.Reflection namespace

qualcosa di simile potrebbe funzionare

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); 
    } 
} 

dotato, si dovrebbe avere properget e set in atto per il properties si vuole lavorare su.

Problemi correlati