问题是我需要一个我无法改变的类对象的额外功能(我正在尝试添加数据绑定支持).我能想到的最佳解决方案是使用此功能编写派生类.所以我可以使用这个类instate的对象.所以现在的问题是,如何初始化新类的对象?我可以使用原始对象作为参数创建一个构造函数,并使用此对象的值初始化派生对象,但对我来说,这似乎不是最聪明的解决方案.如果我可以这样做,那将是很好的:
// MyDerivedClass is derived from ObjectOfAnUnchangeableClass.
MyDerivedClass Obj = ObjectOfAnUnchangeableClass as MyDerivedClass;
Run Code Online (Sandbox Code Playgroud)
因为这不起作用,因为ObjectOfAnUnchangeableClass不知道MyDerivedClass.另一个想法是拥有一个可以用对象"初始化"的构造函数.就像是:
public MyDerivedClass(UnchangeableClass obj): base(obj){}
Run Code Online (Sandbox Code Playgroud)
这里的想法是,不要让基础构造函数构建一个新对象; 它可以只取现有的对象.
所以我有两个问题: