C#交叉依赖接口问题

我已经有两个完整的类(EF域模型),并带有相关的引用(一对多):


public class Foo : IFoo

{

    public virtual ICollection<Bar> Bars { get; set; }

}


public class Bar : IBar

{

    public virtual Foo Foo { get; set; }

}

我需要通过接口使用它们才能实现DI。这样的接口实现显然不起作用:


public interface IFoo

{

    ICollection<IBar> Bars { get; set; }

}


public interface IBar

{

    IFoo Foo { get; set; }

}

您能否请您以正确的方式提出建议?


收到一只叮咚
浏览 124回答 1
1回答

素胚勾勒不出你

您可以使接口通用:public class Foo : IFoo<Bar>{&nbsp; &nbsp; public virtual ICollection<Bar> Bars { get; set; }}public class Bar : IBar<Foo>{&nbsp; &nbsp; public virtual Foo Foo { get; set; }}public interface IFoo<T>{&nbsp; &nbsp; ICollection<T> Bars { get; set; }}public interface IBar<T>{&nbsp; &nbsp; T Foo { get; set; }}
打开App,查看更多内容
随时随地看视频慕课网APP