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包装器。谢谢。这实际上是个好主意。我想当我思考这个问题时,我是被遗传蒙蔽了双眼。再次感谢。