在C#中正确组织项目之间的依赖关系

时间:2019-04-25 21:00:23

标签: c# .net visual-studio frameworks dependencies

下午好。我应该如何使用C#、. NET平台和Visual Studio项目来组织以下结构?

解决方案应包含多个项目(结果为dll或winmd)。 FrameworkBFrameworkC取决于FrameworkAClassA的{​​{1}},FrameworkA的{​​{1}}和ClassD的{​​{1}}是公开的,框架用户可以看到;其他类不可访问(无法创建对象或调用方法)。在这种情况下,从FrameworkBClassF开始,我们应该能够使用FrameworkCClassE中的方法。

所以:

  • ClassGClassBClassC应该是不同的FrameworkAFrameworkB文件(但是FrameworkC.dll取决于.winmd)。
  • BCAClassB应该是框架最终用户专用的,而ClassCClassE应该是框架最终用户专用的ClassGB可见和使用。
C

1 个答案:

答案 0 :(得分:0)

根据this answer,您可以在类B和C上使用InternalsVisibleTo属性并使用Internal访问修饰符。

这样,第一个程序集中的类可以被其他两个程序使用,但不能由客户端编写的软件使用。