C# 如何从父级转换为子级?

C# 如何从父级转换为子级?,c#,.net,C#,.net,在我的域模型中有一个类叫做 JobPlan 此类通过ORM存储/检索,并在不同的地方使用 我正在创建一个视图来显示这个类的树列表,树列表需要这个类来实现特定的接口(接口来自第三方库)。但是,将接口添加到JobPlan类将强制使用该类的所有程序集也引用第三方控件。这并不理想 我正在考虑举行一次聚会 JobPlanPresenter 这将简单地继承JobPlan并实现接口的方法。这将导致我遇到一个问题,即如何将JobPlan(父项)转换为JobPlanPresenter子项。显然,我可以创建一个

在我的域模型中有一个类叫做

JobPlan
此类通过ORM存储/检索,并在不同的地方使用

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

我正在考虑举行一次聚会

JobPlanPresenter
这将简单地继承JobPlan并实现接口的方法。这将导致我遇到一个问题,即如何将JobPlan(父项)转换为JobPlanPresenter子项。显然,我可以创建一个transformer类,将所有字段从父类复制到子类,但这对我来说似乎是一个相当丑陋的黑客行为,它还将杀死原始对象上的所有更新等等


你认为还有别的办法吗?我完全遗漏了什么吗?

一个解决方案是让JobPlanPresenter保留对JobPlan的引用。那么JobPlanPresenter只是一个围绕JobPlan的东西包装器,它引用了JobPlan和JobPlan的子JobPlanPresenter包装器。

谢谢。这实际上是个好主意。我想当我思考这个问题时,我是被遗传蒙蔽了双眼。再次感谢。