Sto provando a creare un po 'di Json nella mia app MVC e voglio solo includere le proprietà dal mio oggetto sorgente, se ha alcuni valori di proprietà, impostato.È possibile creare proprietà al volo, con un oggetto dinamico .NET?
es.
public class Foo
{
public string Aaaa { get; set; }
public string Bbbb { get; set; }
public int? Ccccc { get; set; }
public Lol Dddd { get; set; }
}
// Example Outputs.
Aaaa e ccccc hanno valori solo:
return Json(new { Aaaa = source.Aaaa, Cccc = source.Ccccc.Value };
Dddd solo è stata impostata.
return Json(new { Dddd = source.Dddd }
vedere come stavo cercando di creare un oggetto anonimo al volo. Bene, posso farlo perché in questo esempio contrito, so cosa è stato impostato. Ma quando si tratta di codice reale, dovrei fare 'capire' cosa era realmente impostato e poi restituirlo dinamicamente.
L'idea è basata su Stack Exchange's Api Wrapper .. dove hanno alcuni valori facoltativi che restituiscono tramite json, se sono impostati.
correlati: http://stackoverflow.com/questions/2974008/adding-unknown-at-design-time-properties-to-an-expandoobject – Steven