如果您有一个实现各种接口的对象集合,并且您foreach
对该集合执行特定接口(只有集合的某些成员实现)会发生什么?是否可以跳过不实现该接口的成员?
interface IFoo {}
interface IBar {}
class Foo : IFoo {}
class Baz : IFoo, IBar {}
...
var foos = new List<IFoo> ();
foos.Add(new Foo());
foos.Add(new Baz());
foreach (IBar bar in foos)
{
// What happens now?
}