首页 > 解决方案 > 如何防止来自外部库的特定方法调用

问题描述

我们正在使用第 3 方库(ORM Mapper)来访问数据库。该库不再支持。不久前,我们在这个库的特定方法中发现了一些错误(当它在列表中获取非唯一实体以保存在数据库中时它会崩溃)并且我实现了一个 C# 扩展类,其中修复了这个错误,我还发现并用我的扩展替换了对库方法的所有调用,并与我的团队沟通了这个问题。

现在我想防止在我们的代码库中使用库方法,所以它只允许扩展类调用。我如何确保将来没有人可以使用库方法,或者至少会通知他禁止此调用。

我查看了 ReSharper 的 External Annotations,但没有发现它对我的情况有用。

标签: c#

解决方案


我最终基于“Analyzer with Code Fix”Microsoft 的模板编写了一个小型自定义代码分析器,然后在我们的项目中添加了生成的 dll,这样我和我的队友就可以使用它。这篇文章对我帮助很大。


推荐阅读