我有以下DTO对象:
class ParentDTO
{
property1;
property2;
}
class ChildDTO : ParentDTO
{
property3;
}
我要转向DTO的普通对象:
class Parent
{
property1;
property2;
}
class Child : Parent
{
property3;
}
(我们假设我不能直接使用父类和子类,我需要使用DTO)
将这些转变为DTO的正确方法是什么?我试着写方法:
object ConvertToDTO<T>(T objectToConvert);
它基本上会根据它的类型将任何对象转换为DTO对象,然后将其打包为Object。这是正确的做法吗?
非常感谢!
答案 0 :(得分:1)
有很多库用于将一个对象映射到另一个对象。 实现这个&#34;手工和#34;所需的样板量编写和容易出错是很乏味的。
我建议查看AutoMapper(它包含继承案例所需的所有内容)。
答案 1 :(得分:0)
对于映射对象,我广泛使用了AutoMapper
或valueinjecter
之类的东西。创建自己的映射方法或类没有任何害处。但是,更有可能需求会增加,您可能更喜欢使用AutoMapper
之类的内容。如果您想创建自己的映射,最好从类开始:
public class Mapper<DTO>{}
这个类可以根据您可能需要的映射需求而增长。
在如何设计和解决与继承相关的问题方面,没有疯狂的方法,你可以从抽象类开始,也可以使用接口。因为,编程是科学和艺术,使用你的想象力和技能。