下午好。我应该如何使用C#、. NET平台和Visual Studio项目来组织以下结构?
解决方案应包含多个项目(结果为dll或winmd)。 FrameworkB
和FrameworkC
取决于FrameworkA
。 ClassA
的{{1}},FrameworkA
的{{1}}和ClassD
的{{1}}是公开的,框架用户可以看到;其他类不可访问(无法创建对象或调用方法)。在这种情况下,从FrameworkB
和ClassF
开始,我们应该能够使用FrameworkC
和ClassE
中的方法。
所以:
ClassG
,ClassB
和ClassC
应该是不同的FrameworkA
或FrameworkB
文件(但是FrameworkC
和.dll
取决于.winmd
)。B
,C
,A
和ClassB
应该是框架最终用户专用的,而ClassC
和ClassE
应该是框架最终用户专用的ClassG
和B
可见和使用。C
答案 0 :(得分:0)
根据this answer,您可以在类B和C上使用InternalsVisibleTo属性并使用Internal访问修饰符。
这样,第一个程序集中的类可以被其他两个程序使用,但不能由客户端编写的软件使用。