我正在创建一个我希望在多个新解决方案中使用的界面。让我们调用接口IBar
和新解决方案ProjectX
在IBar
中,我定义了一个必须返回模型FooModel
的方法。
模型Foo
和接口类IBar
存在于数据解决方案中。所以我将数据解决方案引用添加到SolutionX
,我现在可以轻松实现接口( DataProject.Interfaces.IBar )并返回FooModel( DataProject.Models.FooModel )。
如何调用ProjectX
中从数据层实现IBar
接口的方法?
如果我尝试将ProjectX
引用添加到数据层解决方案,我会收到循环引用错误。我是接口的新手,请原谅我的无知。
答案 0 :(得分:2)
您不需要SolutionX
中对DataProject
的引用。您只需通过界面访问IBar
隐藏的功能即可。因此,在DataProject
中,您可能具有将IBar
作为参数的功能。
void Foo(IBar bar) {...}
答案 1 :(得分:1)
您应该以不同方式进行设置,使IBar
方法返回IFooModel
个内容。
然后在单独的项目中定义IBar
和IFooModel
。
接口用于分解循环引用,当您发现创建循环时出现问题。