I have a class :
class MyClass { } ... MyClass c = new MyClass();
Is it possible to add properties / fields to this class on run-time ?
Yes, you can use the ExpandoObject class to achieve this.
ExpandoObject
dynamic expando = new ExpandoObject(); expando.Prop1 = 10; expando.Prop900 = string.Empty;