我有3个项目: UI ,核心和主机,Windows表单,类库和Windows表单。
用户界面是我的启动项目,但 启动外部程序 的设置为 Host.exe
用户界面引用了核心项目,这是我的数据访问层。
主机是加载配置的那个。
基本上,当我运行应用程序时,首先执行的是主机项目的 Main 功能。
现在,在主要功能中,我想从数据库中获取数据,但主机没有引用核心。< / p>
执行 Main 功能后,如何从数据库中获取数据?
目前,我能想到的是在 Main 功能上执行某些操作(批处理文件或tt)并写入文件。从文件中,我将获取我的数据。你能建议其他方法吗?
答案 0 :(得分:0)
如果Host引用了UI,您可以在UI中创建一个公共类/方法,主机可以使用它。
如果UI有对Host的引用,而Host没有对UI的引用,你仍然可以通过使用接口来做类似的事情,比如你添加另一个名为&#34; Interfaces&#34;在那里你创建一个界面&#34; IProvideDBAccess&#34;例如,host将引用该程序集。
UI将包含一个公共类,它将实现接口&#34; IProvideDBAccess&#34;并且主机将能够使用在运行时检索的任何对象来实现该接口,即使没有对UI的强引用。
当然还有很多其他方法可以在不保存文本文件并再次解析的情况下完成您想要做的事情; - )
在这里查看一些项目或解决方案分层的想法,就像我知道的想法并不完全是您在特定情况下所寻求的:https://stackoverflow.com/a/7474357/559144