Chciałbym mieć coś podobnego do właściwości prototype javascript w C#.
Chodzi o to, aby rozszerzyć instancję klasy tak, jak robisz to w javascript.
Najbliższą rzeczą, jaką znalazłem, było użycie obiektu ExpandoObject, ale nie można go zainicjować za pomocą istniejącego obiektu.
Kolejnym problemem jest to, że możesz odzyskać oryginalny obiekt z ExpandoObject.Jak przedłużyć istniejący obiekt w C# 4.0 używając dynamiki
Oto co chcę zrobić
var originalObject = new Person();
originalObject.name = "Will";
var extendedObject = new ExpandoObject();
extendedObject.lastName = "Smith";
//do something
originalObject = (Person) extendedObject;
Wygląda na to, że chcesz mieszać referencje statycznie i dynamicznie pisane. Nie możesz tego zrobić. –
Podobne https://weblog.west-wind.com/posts/2012/Feb/08/Creating-a-dynamic-extensible-C-Expando-Object –