Mi piacerebbe avere qualcosa di simile alla proprietà prototipo di javascript in C#.
L'idea è di estendere un'istanza di una classe come si fa in javascript.
La cosa più vicina che ho trovato è stata l'utilizzo di ExpandoObject, ma non è possibile inizializzarlo con un oggetto esistente.
Un altro problema è che è possibile recuperare l'oggetto originale da ExpandoObject.Come estendere un oggetto esistente in C# 4.0 usando le dinamiche
Ecco quello che voglio fare
var originalObject = new Person();
originalObject.name = "Will";
var extendedObject = new ExpandoObject();
extendedObject.lastName = "Smith";
//do something
originalObject = (Person) extendedObject;
Sembra che si vogliano combinare riferimenti tipizzati staticamente e dinamicamente. Non puoi farlo. –
correlati https://weblog.west-wind.com/posts/2012/Feb/08/Creating-a-dynamic-extensible-C-Expando-Object –