如何转换Parent到Child?

时间:2008-11-25 11:26:09

标签: c# .net

我的域模型中有一个名为

的类
JobPlan

通过ORM存储/检索此类,并在各个地方使用。

我正在创建一个显示此类的treelist的视图,并且treelist需要此类来实现某个接口(该接口来自第三方lib)。但是,将接口添加到JobPlan类将强制所有使用此类的程序集也引用第三方控件。这不太理想。

我正在考虑有一个

JobPlanPresenter

只会继承JobPlan并实现接口的方法。这将导致我如何将JobPlan(父)转换为JobPlanPresenter子项的问题。我显然可以创建一个转换器类,只需将父类中的所有字段复制到子类,但这对我来说似乎是一个非常丑陋的黑客,这也会杀死原始对象上的所有更新等。

你认为还有另一种方式吗?我完全错过了什么吗?

1 个答案:

答案 0 :(得分:1)

一种解决方案是让JobPlanPresenter持有对JobPlan的引用。然后,JobPlanPresenter只是JobPlan的一个包装器,它引用了JobPlan和JobPlan的子项JobPlanPresenter包装器。