是否有任何工具可以检查来自其他名称空间的C#内部成员的访问权限?

问题描述 投票:-1回答:1

我有两个松散耦合的组件A和B.每个组件都是一组C#类型。其中许多类型都是内部的。所有组件将一起编译到同一个程序集中并位于同一个项目中。

可以使用新的VS2010功能layer diagram检查B依赖于A而不是反之亦然的事实。但似乎没有办法检查B是否触及A的内部部分。

我不能将组件分成不同的程序集,并让编译器为我检查这个,因为那时必须有太多的程序集,我必须IL合并它们,这是我不想付出的代价。

我正在为这个问题寻找一些有用的解决方案。我需要一些工具来描述我认为组件作为输入,并验证组件之间的任何依赖关系,他们不会互相接触内部的东西。

我听说PostSharp可以通过将一些属性应用于内部类型来做类似的事情。在编织阶段,PostSharp验证不存在来自不同命名空间的那些类型的访问。这对我来说已经足够了,但我不记得属性名称,也找不到它。

任何人都可以在PostSharp中提醒我属性名称或提出任何其他工具吗?

c# internal
1个回答
1
投票

我建议您使用Doxygen,它将使用Graphviz生成必要的图表并显示关系。

© www.soinside.com 2019 - 2024. All rights reserved.