首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >铸造IList<[ModelObject]>到IList<EntityObject>

铸造IList<[ModelObject]>到IList<EntityObject>
EN

Stack Overflow用户
提问于 2014-06-17 10:56:07
回答 2查看 606关注 0票数 0

我可以将特定模型类的IList转换为MVC 3 .Net c#项目中类EntityObject的IList吗?特定的模型类(如果定义为EntityObject类的子类)。当我试着做演员时,我得到了一个错误:

无法转换'System.Collections.Generic.List1[GesDis.Models.TiposCursosCEF]' to type 'System.Collections.Generic.IList1System.Data.Objects.DataClasses.EntityObject'.“类型的对象

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-17 11:29:45

这是一个协方差的例子。也就是说,仅仅因为B是从A派生出来的,而且您可以分配A a = new B(),这并不意味着您可以将T<B>分配给T<A>。这些只是两种不同的泛型类型,而分配不起作用。

相反,您需要这样做:

代码语言:javascript
复制
IList<EntityObject> entityObjects = modelObjects.Cast<EntityObject>().ToList();
票数 2
EN

Stack Overflow用户

发布于 2014-06-17 11:12:00

不,如果你能投的话,你可以做这样的事:

代码语言:javascript
复制
class Base {}
class Derived : Base {}
class SomeOther : Base {}

var list = new List<Derived>();
var baseList = (IList<Base>)list;

baseList.Add(new SomeOther()); // oops, add SomeOther to a List<Derived>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24262011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档