我想将不同类型的对象转换为一个。
例如我有: Object1:class1的 对象2:类2 Object3:CLASS3
所有对象都不同,我无法让它们继承一个接口。
在转移到应用程序的另一部分之前,我想将它们转换为ObjectDTO:ClassDTO。
在这种情况下可以使用哪种设计模式?
答案 0 :(得分:1)
您可以在C#中使用implicit
类型转换运算符:
public class Object1DTO
{
public int Property {get; set;}
}
public class Object1
{
public int Property {get; set;}
public static implicit operator Object1DTO(Object1 object1)
{
return new Object1DTO { Property = object1.Property };
}
}
或者您也可以使用扩展程序:
public static class Extensions
{
public static Object1DTO ToDTO(this Object1 object1)
{
return new Object1DTO { Property = object1.Property };
}
}
您还可以查看automapper
之类的库来处理此类对象 - 对象映射方案。