当前位置: 首页 > 编程语言 > C#

防止其他开发者在一个类中使用基本方法分享

时间:2023-04-10 21:01:13 C#

防止其他开发者在一个类中使用基本方法我有一个使用文件系统实体来操作数据的类。我们有几种方法专门用于(尝试)处理我们使用该方法遇到的一些问题(文件锁定、不存在的文件等)。理想情况下,如果其他开发人员试图通过System.IO而不是使用辅助方法直接访问文件系统,我希望能够警告他们。是否可以?我正在寻找的行为是有效地将File.ReadAllText()之类的方法标记为已过时,但仅限于此项目(非解决方案范围)。我做了一些挖掘,看起来我唯一的选择是“告诉他们确保他们使用你的方法”。我希望有人能给我一个不同的、更有帮助的答案。?--EDIT--自定义StyleCop或FxCop规则的建议很好,但不幸的是在这种情况下并非不切实际(并非部门中的每个开发人员都使用这些出色的工具),并且执行文件访问的合法方法确实使用System.IO。向合法方法添加“忽略”属性也是一个危险的想法。如果有人看到我如何“打破”我自己的规则,他们可能会将该属性复制到他们自己的方法中。使用StyleCop或FxCop等静态分析工具以及捕获“不要直接使用System.IO”的规则。然后将其集成为自动构建过程的一部分,如果有人试图直接使用System.IO则将其丢弃。没有人喜欢破坏这个版本。您可以为FxCop/VisualStudioCodeAnalysis编写自定义分析规则,并将它们作为自动构建的一部分运行。嗯。我自己还没有尝试过,但是如何强制人们使用自定义文件处理类,使用“隐藏”真实System.IO的名称空间别名。如果我没记错的话,这些都是在项目级别应用的。不确定这些建议是否可行,因为我从来没有这样做过,但有一些值得深思的地方:这不是“企业模板”的设计目的吗?他们是否允许您制作一个政策文件来限制允许的项目引用?或者,虽然不是万无一失,但是否可以向项目添加预构建事件并在引用System.IO时发出警告?您可以向源代码管理提交挂钩添加一些自定义功能吗?它不会检测现有的违规行为(如果有的话),除非这些文件被更改但应该检测新的用途吗?好的?以上就是C#学习教程:防止其他开发者使用类中的基本方法。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: