我想在 c# 中有类似于 javascript 的原型属性的东西。
这个想法是像在 javascript 中那样扩展一个类的实例。
我发现最接近的是使用 ExpandoObject,但您不能使用现有对象对其进行初始化。
另一个问题是您可以从 ExpandoObject 取回原始对象。
这是我想做的事情:
var originalObject = new Person();
originalObject.name = "Will";
var extendedObject = new ExpandoObject();
extendedObject.lastName = "Smith";
//do something
originalObject = (Person) extendedObject;