我已经有两个已完成的类(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; }
}
请问您能以正确的方式提出建议吗?
答案 0 :(得分:1)
您可以使接口通用:
public class Foo : IFoo<Bar>
{
public virtual ICollection<Bar> Bars { get; set; }
}
public class Bar : IBar<Foo>
{
public virtual Foo Foo { get; set; }
}
public interface IFoo<T>
{
ICollection<T> Bars { get; set; }
}
public interface IBar<T>
{
T Foo { get; set; }
}