Я хотел бы иметь что-то похожее на свойство prototype javascript в c #.
Идея состоит в том, чтобы расширить экземпляр класса, как вы делаете в javascript.
Самым близким, что я нашел, было использование ExpandoObject, но вы не можете инициализировать его с существующим объектом.
Другая проблема заключается в том, что вы можете получить исходный объект из ExpandoObject.
Вот что я хочу сделать:
var originalObject = new Person();
originalObject.name = "Will";
var extendedObject = new ExpandoObject();
extendedObject.lastName = "Smith";
//do something
originalObject = (Person) extendedObject;