防止C#程序员使用特定库类的最佳方法是什么?
类来自外部程序集,因此无法对其使用[Obsolete]
属性。我尝试使用Resharper自定义模式,但似乎不支持泛型类型。
答案 0 :(得分:2)
修补库方法/类(Reflector有几个插件) - 添加DeprecatedAttribute
,或修改其代码以引发异常,例如。
您还可以进行在CI服务器上运行的特殊单元测试,如果显示特定的已弃用项目用途,则会失败。
答案 1 :(得分:1)
您可以使用ildasm反汇编库,添加[Obsolete(true)]
属性并使用ilasm重新组合。
您可以找到一些装配编辑工具,例如Reflexil和反射器试用版。
请注意,如果您编辑程序集,则会丢失所有签名和内容。