C#如何在没有循环引用的情况下从所有项目访问类



我想创建一个可以从所有项目访问的异常类。我的项目结构如下:

  • 项目:GUI(对项目A/B的引用(
  • 项目:A(参考项目B(
  • 项目:B(无参考项目(

无论我向哪个项目添加Exceptions类,我都会在至少一个项目中得到一个循环。I

我只想能够捕获为解决方案中的所有项目明确定义的自定义异常。

只使用异常类创建一个新项目看起来不太好。

OOP是如何解决这类问题的?

只使用异常类创建一个新项目看起来不太好。

这正是避免循环依赖的方法。如果你有功能,漂亮整洁的隔离,它可以放在一个DLL中,有一个非常明确的目的。您可以在所有项目中引用此程序集,而不会引起循环引用。

因此:

  • 创建一个新项目
  • 添加所需的";共享的";功能
  • 在其他项目中引用该项目.dll

您稍后可以使用类似的共享功能和功能来扩展项目。


正如@DmytroOvidienko所指出的:

我认为除了异常之外,一些代码必须移动到新程序集。

这是一个有效的观点。您很可能会发现,您可以在其中添加更多与自定义异常相关的功能。

相关内容

最新更新