在我的C#应用程序中,我有几个库。 E.g:
我的数据访问DLL D有一个它公开的接口。 Helper DLL B公开了另一个具有基本相同属性的接口,但它不是相同的接口(名称空间明确,稍微与访问这些属性的方式有关)。此外,Helper DLL A使用B和D公开的内容。这导致了我的困惑,因为我需要连接B&在A中的D,但我发现自己试图在这些界面之间进行转换,而且似乎没什么关系。
我对自己该做什么感到困惑:
有首选解决方案吗?如果是这样,为什么?
答案 0 :(得分:1)
如果你需要所有的接口,我很难通过阅读你的帖子对我说,我个人会建议将它们全部放在DataAccess中,也包括转换实用程序。所以你将把所有人都放在一个地方,将来你要写的任何助手都只需要参考。
答案 1 :(得分:0)
有什么问题?难道你不能在主要实现这些接口的类中创建一个类吗?
类可以从多个接口继承,或者您可以定义从各自的类继承的各种代理,这些代理代替对某些公共对象进行操作。
答案 2 :(得分:0)
我会添加另一个DLL,其中包含您要在其他三个DLL中使用的接口。然后,无论声明它在哪个DLL中,任何实现这些接口之一的对象都能够被处理相同。 您还可以在其中一个DLLS中扩展任何这些接口,以在必要时包含额外的属性或方法。