【发布时间】:2016-01-27 15:25:18
【问题描述】:
如果我想将 my 代码中的方法声明为已弃用/过时,我可以向其添加 [Obsolete] 属性,并让编译器在该方法出现时发出警告(或错误)用过。
第三方方法(如System.Console.WriteLine)是否可以达到类似的效果?显然,我无法添加属性,因为我不控制代码。但也许 .NET 或 Visual Studio 中还有其他可用的技巧?
我最好寻找一种“开箱即用”的解决方案,它不需要编写自己的构建后脚本来手动解析代码。
【问题讨论】:
-
没有开箱即用的东西。 resharper 有代码注释。我猜你可以用 roslyn 做点什么。
-
听起来更像是您需要使用自定义规则进行代码检查。决定其他东西是否已过时并不是真正由您决定,但您可以决定是否不想调用它。
-
使用 Visual Studio 2015,您可以相当轻松快速地编写代码分析器,并将某些方法标记为“不推荐”,并在编译时抛出警告或错误。见:msdn.microsoft.com/en-us/magazine/dn879356.aspx
-
@JamesThorpe 好吧,它在我们的项目中已经过时了,但是是的,它最终是关于不在我们的代码中调用它。 “代码检查”是一个很好的关键字。我最终可能会为 ReSharper 编写自定义代码检查规则...
-
不能对静态类型做很多事情,但对于其他人,您可以继承并使用 new 关键字来隐藏基本实现。有时这是一个不错的选择。
标签: c# .net visual-studio deprecated obsolete