理解translate的概念。使用它来将 DataModel 类型转换为表示层的 DTO 类型,这样效果很好。
objTypeB = objTypeA.TranslateTo<clsTypeB>();
TypeA 和 TypeB 之间的差异只是少数属性的数据类型,我在 Property Set
中转换了它们。方法。
但是在上面的实现中,如果源是 List<TypeA>
,我循环遍历每个以翻译为 TypeB
并添加另一个 List<TypeB>
实例。是否可以做这样的事情:
假设resultListA
是 List<clsTypeA>
var resultListB = resultListA.TranslateTo<List<clsTypeB>>();
我尝试过,但似乎没有转换。我得到一个空的resultListB
。有什么简单的方法吗?
最佳答案
这应该可以做到:
var resultListB = resultListA.ConvertAll(x => x.TranslateTo<clsTypeB>());
关于reflection - 将 List<Type> 转换为 List<Type B>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13315579/