Search code examples
c#c#-4.0dynamicexpandoobject

Dynamically adding properties to an ExpandoObject


I would like to dynamically add properties to a ExpandoObject at runtime. So for example to add a string property call NewProp I would like to write something like

var x = new ExpandoObject();
x.AddProperty("NewProp", System.String);

Is this easily possible?


Solution

  • dynamic x = new ExpandoObject();
    x.NewProp = string.Empty;
    

    Alternatively:

    var x = new ExpandoObject() as IDictionary<string, Object>;
    x.Add("NewProp", string.Empty);