servicestack,Reflection,Extension Methods,servicestack" /> servicestack,Reflection,Extension Methods,servicestack" />

Reflection 翻译一份清单<;A型>;列出<;类型B>;

Reflection 翻译一份清单<;A型>;列出<;类型B>;,reflection,extension-methods,servicestack,Reflection,Extension Methods,servicestack,理解了这个概念。将它用于将数据模型类型转换为DTO类型,用于表示层,效果很好 objTypeB = objTypeA.TranslateTo<clsTypeB>(); 我试过了,但似乎没有改变。我得到一个空的resultListB。任何简单的方法都可以做到这一点 var resultListB = resultListA.ConvertAll(x => x.TranslateTo<clsTypeB>()); var resultListB=resultListA

理解了这个概念。将它用于将数据模型类型转换为DTO类型,用于表示层,效果很好

objTypeB = objTypeA.TranslateTo<clsTypeB>();
我试过了,但似乎没有改变。我得到一个空的
resultListB
。任何简单的方法都可以做到这一点

var resultListB = resultListA.ConvertAll(x => x.TranslateTo<clsTypeB>());
var resultListB=resultListA.ConvertAll(x=>x.TranslateTo());
这应该可以做到:

var resultListB = resultListA.ConvertAll(x => x.TranslateTo<clsTypeB>());
var resultListB=resultListA.ConvertAll(x=>x.TranslateTo());

谢谢。重构的这个建议也起了作用。var resultListB=resultListA.Select(x=>x.TranslateTo()).ToList();是的,但速度较慢(这就是为什么我没有显示它:),因为它在转换为列表之前会进行可枚举投影。谢谢。重构的这个建议也起了作用。var resultListB=resultListA.Select(x=>x.TranslateTo()).ToList();是的,但速度较慢(这就是为什么我没有显示它:),因为它在转换为列表之前进行可枚举投影。