我有一个使用文件系统实体来操作数据的类。我们有几种方法专门设计用于(尝试)处理我们在这种方法中面临的一些问题(文件锁定、不存在的文件等)。理想情况下,如果其他开发人员尝试通过 System.IO 直接访问文件系统而不是使用辅助方法,我希望能够发出警告。
这可能吗?我正在寻找的行为是有效地将诸如 File.ReadAllText() 之类的方法标记为已过时,但仅在此项目中(不是解决方案范围内)。
我已经做了一些挖掘,看起来我唯一的选择是“告诉他们确保他们使用你的方法”。我希望有人能给我一个不同的,更有帮助的答案。:)
--EDIT-- 自定义 StyleCop 或 FxCop 规则的建议很好,但不幸的是在这种情况下不切实际(并非部门中的每个开发人员都使用这些优秀的工具),并且进行文件访问的合法方法确实使用 System.IO . 在合法方法中添加“忽略”属性也是一个危险的想法。如果有人看到我如何“破坏”我自己的规则,他们可能会将属性复制到他们自己的方法中。