C# dynamic: Adding properties and methods dynamically to dynamic object
static void Main(string[] args)
{
dynamic value;
value = 10; //Now it is Int32
value = DateTime.Now; //Now it is DateTime
dynamic iAmDynamic = new ExpandoObject();
iAmDynamic.X = 10;
//Add new properties and methods
Set(iAmDynamic);
//Call added properties and methods
Console.WriteLine(iAmDynamic.NewProperty);
iAmDynamic.NewMethod();
}
static void Set(dynamic dynamicFromAnotherMethod)
{
dynamicFromAnotherMethod.NewProperty = 20;
dynamicFromAnotherMethod.NewMethod = new Action(
() => { Console.WriteLine("Hello from dynamic method."); }
);
}