【问题标题】:Is there any tool to check access to C# internal members from other name-spaces?是否有任何工具可以检查从其他命名空间对 C# 内部成员的访问?
【发布时间】:2011-08-19 14:53:35
【问题描述】:

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

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

我不能将组件分成不同的程序集并让编译器为我检查这个,因为这样就必须有太多的程序集,我必须对它们进行 IL-merge,这是我不想要的价格付款。

我正在为这个问题寻找一些有用的解决方案。我需要一些工具,可以将我认为的组件描述为输入,并验证组件之间存在的任何依赖关系它们不会相互影响内部内容。

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

谁能提醒我 PostSharp 中的属性名称或想出任何其他工具?

【问题讨论】:

  • 我的意思是一个项目中的一组类,我不想拆分成单独的程序集,因为这些程序集太小了。
  • 请不要重复同样的问题。

标签: c# internal


【解决方案1】:

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

【讨论】:

  • 你能举例说明如何做到这一点吗?即检查我的一组类是否不触及另一组类的内部
猜你喜欢
  • 2017-11-27
  • 1970-01-01
  • 2012-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-18
相关资源
最近更新 更多