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?
}