私はここに、この記事のタイトルは非常によく私の問題を説明していないかもしれないと思うが、うまくいけば、それは少し良く説明しなければならないいくつかのコードです:子クラスがその親としてリストに格納されている場合、その子クラスのインターフェースプロパティにどのようにアクセスできますか?
interface IFoo {
IFoo Bar {get; set;}
}
class Parent {
}
class Child1 : Parent, IFoo {
}
class Child2 : Parent, IFoo {
}
class Manager {
List<Parent> Parents = new List<Parent>();
Parents.Add(new Child1());
Parents.Add(new Child2());
// I want to do something like this:
Parents[0].Bar = Parents[1];
}
私は(Parents[0] is IFoo)
がtrue
として評価され、そしてまだ私ができると信じてParent
にはBar
の定義が含まれていないため、Parents[0].Bar
を使用しないでください。なぜこれが説明できるのですか?また、私はどのように効果的に(少なくとも私の頭の中で)Parents[0].Bar = Parents[1]
と同じことをすることができますか?
これはうまくいけばうまくいきます。私は必要に応じて事を明確にしようとします。見ていただきありがとうございます!