2012-03-30 48 views
0

对不起,没有更好的标题,想不到更好的...库可能需要引用使用它的应用程序? C#

无论如何,我已经写了一个基本上查看系统库。该库由系统的编辑器应用程序使用。不幸的是,我突然需要图书馆在其中一个类中有一个变量来访问编辑应用程序。当然,这是不可能的,没有参考。事情是,我觉得在数百次使用这个库的时候没有必要引用编辑器应用程序,只有一个应用程序使用它(编辑器),这意味着库需要编辑器引用它。

我真的很希望这是有道理的。

在大多数情况下:应用程序使用图书馆 在编辑器的情况:编辑器使用图书馆使用编辑器

我基本上要围绕其引用从库中编辑的方式。我的所有需求都是为了存储在库中的类型变量(或者可以访问的循环空间)MyClass(默认值为null)。 MyClass是编辑器的一部分,但不是库,我不想引用编辑器。

感谢您的帮助!

+3

这不是必需的。请解释为什么图书馆需要访问'MyClass',所以我们可以找到一个更好的方法来做到这一点。这很可能是你的图书馆提供的一个事件,编辑可以订阅它自己,并执行你目前想在图书馆里做的任何事情。 – 2012-03-30 13:53:15

+0

当我开发一个用于WPF和WinForm应用程序的库时,我遇到了同样的问题。如果你正在使用编辑功能,不能不惜一切代价避免它,那么你可能不得不引用它。但是你应该尽可能地采用松散耦合的方法来开发。请张贴一些代码,以查看 – Habib 2012-03-30 13:56:59

+0

感谢Daniel,基本上我希望图书馆检查一些东西,但是将所有变量从编辑器传递到图书馆应该是一项巨大的工作:/ usr的答案看起来像它应该工作不过,现在试试:) – Randomman159 2012-03-30 14:27:53

回答

5

创建一个你“编辑器”实现的接口。该库不需要知道具体的实现,它可以与接口一起工作。

+0

并将接口放入其自己的程序集中,以便库引用接口的程序集,而不是编辑器程序集。编辑器程序集还需要引用接口程序集。 – Polyfun 2012-03-30 14:23:10

+0

谢谢,现在试一试:) – Randomman159 2012-03-30 14:28:02

相关问题