【发布时间】:2009-08-04 15:29:16
【问题描述】:
如果你有一个接口IFoo和一个类Bar : IFoo,为什么你可以这样做:
List<IFoo> foo = new List<IFoo>();
foo.Add(new Bar());
但你不能这样做:
List<IFoo> foo = new List<Bar>();
【问题讨论】:
-
顺便说一句,这在第一个示例中是如何工作的?如果 Bar1 和 Bar2 都实现了 IFoo,您将能够在同一个列表中添加一个新的 Bar1() 和一个新的 Bar2()?