阻止访问类库中的System类

时间:2011-07-23 01:32:54

标签: c# .net

有人可以推荐一种阻止访问特定程序集中特定系统类的方法吗?例如,我可能想要在实现某个不涉及I / O的特定层的类库中阻止FileStream或其他I / O类。它不一定是不可克服的,重点不是打击敌对开发人员,只是为了减少团队成员(包括我自己)的分层错误,并通过打破编译轻松识别这些代码。

4 个答案:

答案 0 :(得分:6)

看起来好像你试图“阻止”编码实践而不是执行代码,我觉得你应该看看FxCop和writing some custom rules

然后您可以integrate FxCop into your build process and cause it to "break the build"

答案 1 :(得分:1)

如果要阻止I / O,请不要担心阻止单个类,请使用FileIOPermission并阻止I / O.

答案 2 :(得分:1)

我认为你不能“阻止访问”。但您可以将代码库作为构建的一部分进行分析。我所知道的唯一现有的开箱即用解决方案是NDepend - 它允许您编写类似于SQL的显式规则。但它不是免费的。

答案 3 :(得分:0)

如果您拥有该类库的源代码,您可以为要阻止的所有内容定义别名......这些别名会指向“中性”,在访问时会引发异常......