使用DTO对象和c#继承
本文关键字:继承 对象 DTO 使用 | 更新日期: 2023-09-27 18:08:26
我有以下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。这是正确的做法吗?
多谢!
有大量的库可以将一个对象映射到另一个对象。"手工"实现所需的大量样板文件编写起来很繁琐,而且容易出错。
我建议您查看一下AutoMapper(它具有继承情况所需的所有功能)。
对于映射对象,我广泛使用AutoMapper
或valueinjecter
之类的东西。创建自己的映射方法或类没有害处。然而,需求更有可能增长,您可能更喜欢使用AutoMapper
之类的东西。如果您想创建自己的映射,最好从这样的类开始:
public class Mapper<DTO>{}
,这个类可以根据您可能需要的映射需求而增长。
关于如何设计和解决与继承相关的问题,没有什么方法是疯狂的,你可以从抽象类或者使用接口开始。编程既是科学又是艺术,请发挥你的想象力和技能。