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