インターフェイスに頭を悩ませようとしています。私は次のようなものを実装することにつまずき続けています:
public interface IFoo
{
ICollection<IBar> Bars { get; set; }
//some other properties
}
public interface IBar
{
//some properties
}
//assume Bar is implemented and extends IBar. Some instaces of Bar are created
Bar[] MyBars = {bar1, bar2};
Foo MyFoo = new Foo();
MyFoo.Bars=MyBars.ToList(); //This causes an error saying Collection<Bar> cannot be
//assigned to ICollection<IBar>.
私はこれを適切に行う方法について完全に途方に暮れています。インターフェイスのコレクションを設定する適切な方法は何ですか?
編集: Foo を実装した方法は、おそらく問題の一部です。
public class Foo : IFoo
{
public ICollection<IBar> Bars { get; set; }
}