铸造对象的名单到另一个隐式转换
问题描述:
我有两个对象myObject1
和myObject2
,在myObject1我有以下方法:铸造对象的名单到另一个隐式转换
public static implicit operator myObject2(myObject1 param)
{ //Some Code }
如何我投的IEnumerable<myObject1>
到IEnumerable<myObject2>
?
答
尝试在每个项目上挑起投:
IEnumerable<myObject1> original;
// ...
IEnumerable<myObject2> converted = original.Cast<myObject2>();
答
var converted = original.Select(o=>(myObject2)o);
+0
虽然我不确定它会如何影响性能,但与Cast'>()方法相比,这是可行的。 – PedroC88 2014-09-29 20:17:24
他们有相同的属性? – 2014-09-29 17:52:53
转换的执行已完成,但是编写类似'IEnumerable params2 = params1'的代码不能编译,因为params1是'IEnumerable ' –
PedroC88
2014-09-29 17:54:51
是什么让你认为它会编译?你从'myObject1'转换为'myObject2'而不是'IEnumerable'转换为'IEnumerable ' –
2014-09-29 17:57:45