I create the person object like this.
Person person=new Person("Sam","Lewis")
It's not possible with a "normal" object, but you can do it with an
ExpandoObject and the
dynamic person = new ExpandoObject(); person.FirstName = "Sam"; person.LastName = "Lewis"; person.Age = 42; person.Foo = "Bar"; ...
If you try to assign a property that doesn't exist, it is added to the object. If you try to read a property that doesn't exist, it will raise an exception. So it's roughly the same behavior as a dictionary (and ExpandoObject actually implements