【发布时间】:2011-08-23 18:22:32
【问题描述】:
我正在使用仅实现非泛型 IEnumerable 和 ICollection 的遗留集合对象。当我尝试将此对象与 foreach 一起使用时,该对象究竟会发生什么情况?在 foreach 表达式的 LHS 上提供更具体的类型?
// LegacyFooCollection implements non-generic IEnumerable
LegacyFooCollection collection = GetFooCollection();
foreach (Foo f in collection)
{
// etc.
}
我知道(因为我已经尝试过)当collection 中的所有内容确实是Foo 类型时这是安全的,但如果失败会发生什么?
【问题讨论】:
-
我认为在这种情况下它会为空。
标签: c# generics foreach ienumerable