Dynamically adding properties to an ExpandoObject

c#, c#-4.0, dynamic, expandoobject

Solution

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

Alternatively:

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

Problem

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?

Original source

Related problems