所以,我有两个自定义复杂类型像这样(简单化了这个例子):如何自定义复杂类型转换为另一种自定义的复杂类型
public class PendingProduct
{
public string Name { get; set; }
public string Description { get; set; }
public int ColorCount { get; set; }
}
比方说,我需要这个对象知道如何将其转换为另一种类型:
public class Product
{
public string Name { get; set; }
public string Description { get; set; }
public ProductColors Colors { get; set;}
}
所以,当我打电话给PendingProduct转化为产品的方法,我会执行,增加了“ColorCount” ProductColor对象数量商品类的一些定制逻辑。这是完全过分简化的,但是这个类的架构在这里是非常不相关的。
我的主要问题是什么,是这样的:
什么是用于实现一个复杂类型的转换到另一个复杂类型时,对象的属性不同的最佳实践方法?
在现实世界中,产品的性能有很大的不同,我会写一些自定义的逻辑来图是我从对象需要对象B.
很显然,我可以只写一个函数,该函数的输入参数的对象A并返回对象B,但我正在寻找更“最佳实践”的方法。 IConvertible会在这里发挥作用吗?是否还有更多类似OOP的东西可以利用,而不仅仅是写一个函数来做我想要的东西?
对象A应该总是知道如何将其转换为Object B.
编辑:作为一个方面说明,在现实世界中,对象A和对象B都是实体框架4实体。我想采取“待定产品”,将其转换为新的产品实体,将其附加到数据上下文并保存。