Tôi muốn có một cái gì đó tương tự như tài sản nguyên mẫu của javascript trong C#.
Ý tưởng là để mở rộng một thể hiện của một lớp như bạn làm trong javascript.
Điều gần nhất tôi thấy là sử dụng ExpandoObject, nhưng bạn không thể khởi tạo nó với một đối tượng hiện có.
Một vấn đề khác là bạn có thể lấy lại đối tượng gốc từ ExpandoObject.Làm thế nào để mở rộng một đối tượng hiện có trong C# 4.0 bằng cách sử dụng động lực
Dưới đây là những gì tôi muốn làm
var originalObject = new Person();
originalObject.name = "Will";
var extendedObject = new ExpandoObject();
extendedObject.lastName = "Smith";
//do something
originalObject = (Person) extendedObject;
Có vẻ như bạn muốn kết hợp các tham chiếu tĩnh và động. Bạn không thể làm điều đó. –
https://weblog.west-wind.com/posts/2012/Feb/08/Creating-a-dynamic-extensible-C-Expando-Object liên quan –