C# 阻止对类库中系统类的访问
有人能推荐一种方法来阻止对特定程序集中特定系统类的访问吗?例如,我可能想在实现不应涉及I/O的特定层的类库中阻止FileStream或其他I/O类。这不一定是不可克服的,重点不是打击敌对的开发人员,而是减少团队成员(包括我自己)的分层错误并通过中断编译来轻松识别此类代码。如果您有该类库的源代码,您可以为要阻止的所有代码定义别名。。。这些别名将指向一些“中性”的东西,当访问时会抛出异常…如果您有该类库的源,您可以为要阻止的所有内容定义别名。。。这些别名会指向一些“中性”的东西,在访问时会引发异常…如果你想阻止I/O,不要担心阻止单个类,使用并阻止I/O。如果你想阻止I/O,不要担心阻止单个类,使用并阻止I/O。我认为你不能“阻止访问”。但是您可以在构建过程中分析代码库。我所知道的唯一现成的解决方案是——它允许您编写类似SQL的显式规则。但它不是免费的。我认为你不能“阻止访问”。但是您可以在构建过程中分析代码库。我所知道的唯一现成的解决方案是——它允许您编写类似SQL的显式规则。不过,它不是免费的。看到您试图“阻止”编码实践而不是执行代码,我认为您应该看看FxCop和C# 阻止对类库中系统类的访问,c#,.net,C#,.net,有人能推荐一种方法来阻止对特定程序集中特定系统类的访问吗?例如,我可能想在实现不应涉及I/O的特定层的类库中阻止FileStream或其他I/O类。这不一定是不可克服的,重点不是打击敌对的开发人员,而是减少团队成员(包括我自己)的分层错误并通过中断编译来轻松识别此类代码。如果您有该类库的源代码,您可以为要阻止的所有代码定义别名。。。这些别名将指向一些“中性”的东西,当访问时会抛出异常…如果您有该类库的源,您可以为要阻止的所有内容定义别名。。。这些别名会指向一些“中性”的东西,在访问时会引发异常…
然后你就可以了。看到你试图“阻止”编码实践,而不是执行代码,我认为你应该看看FxCop和
您可以这样做。不知道FxCop允许编写自定义规则。谢谢你的信息+1我不知道FxCop允许编写自定义规则。谢谢你的信息+1菲,你所说的课程与C无关。它们是.NET类,不是C类。仅供参考,您所说的类与C无关。它们是.NET类,而不是C#类。我最终选择了NDepend。自定义FxCop规则支持目前非常差。我最终选择了NDepend。自定义FxCop规则支持目前非常差。是的,但我希望能够捕获的不仅仅是文件I/O。试图在我们的业务逻辑层强制执行零I/O。谢谢你的回答!是的,但我希望能够捕捉到的不仅仅是文件I/O。试图在我们的业务逻辑层中强制执行零I/O。谢谢你的回答!