如何在不同的命名空间中分配相同的对象列表。 list,list2
list = list2;
无法隐式转换类型
System.Collections.Generic.List<namespace1.MyData>
至System.Collections.Generic.List<namespace2.MyData>
答案 0 :(得分:3)
这听起来像是一个已生成的WCF代理,您希望重用现有的类库而不是代理生成的类库。
如果是这种情况,请参阅this answer或this answer。
修改强>
作为对此的跟进,偶尔您可能处于无法重用公共类定义的位置(在Silverlight的情况下,您必须创建一个可能不实用的全新程序集)。如果您处于此位置,则还有另一种选择:代理生成的类定义为 partial ,因此您可以使用返回的Clone()
或Copy()
方法扩展它们来自其他命名空间的相同对象,复制的值。
答案 1 :(得分:1)
如果对象可以相互转换,你可以这样做,但是它通过列表循环并制作副本,这不是直接的分配。
var newList = oldList.Cast<NewType>().ToList();