将无主类型标记为已弃用或已过时

时间:2016-01-22 19:07:49

标签: c# .net visual-studio code-analysis

我想创建TimeoutException的自定义版本(我只会覆盖构造函数以添加更多信息)并且我想阻止/阻止将来的创建(对构造函数的调用)特定模块的System.TimeoutException。是否可以将TimeoutException的构造函数标记为已弃用/已废弃?

同样适用于Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(System.Boolean),我想弃用/废弃这个方法(只有只采用Boolean的实现,我不想触及那些(Boolean, String) 1}}或(Boolean, String, Object[]).

我知道有[Obsolete] [Deprecate]这样做,但是,由于这些方法未在项目中声明/实现,我不知道如何添加它们。

1 个答案:

答案 0 :(得分:3)

不,你不能将别人的二进制文件中的代码标记为已弃用或过时。

正如评论者所提到的,您可以编写一个自定义的FxCop规则来捕获它。更好的是,如果您使用的是最新的Visual Studio,请编写自定义Roslyn分析器(https://msdn.microsoft.com/en-us/magazine/dn879356.aspx)。

就个人而言,我只是依靠团队进行良好的代码审查流程,并在他们使用错误的东西时用尖尖的棍子戳开发人员。