【发布时间】:2016-12-26 21:23:56
【问题描述】:
场景:我有一组使用延迟加载的实体框架实体,因此是DynamicProxies。然后有一种方法可以将一些选定的项目传递给我写为object 的覆盖。我需要将List<DynamicProxies.EntityABCD>(实际上以object 传递)转换为List<Entity>。
但是以这种方式投射列表
dropInfo.Data as List<MyEntity>
将返回 null。我什至不能使用通用方法Cast<T>,因为源列表再次作为object 传递。
我也试过了
dropInfo.Data as List<object>
但它仍然会返回 null。
提前致谢
编辑:设法获得更清晰的清单
((IList)dropInfo.Data).Cast<MyEntity>()
但是我仍然需要检查错误等。
【问题讨论】:
-
你打算用那个
List做什么?一些协变接口(如IEnumerable<MyEntity>、IReadOnlyList<MyEntity>)不能为你工作吗? -
现在我明白你的问题了。在将
List<Proxy_123>传递给dragInfo 之前,是否可以将其转换为List<MyEntity>?我怀疑您必须以某种方式存储为 dragInfo 提供某些东西(您的列表),因此当您拖放时它可以在dropInfo.Data中传回,这样您就可以在之前投射它。
标签: c# entity-framework list generics converter