【发布时间】:2019-01-01 04:59:39
【问题描述】:
我在用值填充对象时遇到问题。
其中一个属性是List<IFoo> foos
稍后当我想用我的数据库中的数据填充我的模型时,我想在该属性上放置List<Foo>。
我认为既然Foo 正确实现了IFoo 接口,这应该可以工作(对吗?)但我收到一个错误,说我不能将List<Foo> 隐式转换为List<IFoo>
我想我正在寻找过去的东西...... 感谢您提前提供帮助
【问题讨论】:
-
有小代码示例吗?
-
您无法将 List
转换为 List .. 但您可以转换它: foos.Cast<IFoo>().ToList() -
您确定不想转换?
List<IFoo> fooBar = myFoos.ToList<IFoo>(); -
是的,请稍等,我会编辑帖子
-
@PimSchwippert - 没有人比 JonSkeet 解释得更清楚:stackoverflow.com/questions/8925400/cast-listt-to-listinterface
标签: c# interface liskov-substitution-principle