C# 将无主类型标记为已弃用或过时
我想创建一个自定义版本的C# 将无主类型标记为已弃用或过时,c#,.net,visual-studio,code-analysis,C#,.net,Visual Studio,Code Analysis,我想创建一个自定义版本的TimeoutException(我将只覆盖构造函数以添加更多信息),并且我想防止/阻止将来为特定模块创建System.TimeoutException。是否可以将TimeoutException的构造函数标记为已弃用/过时 对于Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(System.Boolean),我想反对/废除这个方法(只使用布尔值的实现,我不想碰那些使用(布尔值,字符串)或(布尔值,字符串
TimeoutException
(我将只覆盖构造函数以添加更多信息),并且我想防止/阻止将来为特定模块创建System.TimeoutException
。是否可以将TimeoutException
的构造函数标记为已弃用/过时
对于Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(System.Boolean),
我想反对/废除这个方法(只使用布尔值的实现,我不想碰那些使用(布尔值,字符串)
或(布尔值,字符串,对象[])的实现。
我知道有[过时][弃用]
可以做到这一点,但是,由于这些方法没有在项目中声明/实现,我不知道如何添加它们。不,您不能将其他二进制文件中的代码标记为弃用或过时
正如评论员所提到的,您可以编写一个定制的FxCop规则来捕捉这一点
就我个人而言,我只希望团队有一个良好的代码审查流程,并在开发人员使用错误的东西时用尖利的棍子捅他们。您的工程师们非常关注是否可以,他们从未停止过思考是否应该这样做。这听起来更像是一个带有自定义规则的代码风格工具的工作。您应该是一名工程师能够使用FxCop并创建自定义规则,以查找对您不想使用的构造函数的调用。不要迂腐,您不能重写构造函数。我们正在寻找多个选项,FxCop就是其中之一。我觉得即使有巫毒允许您在运行时将这些属性注入到无主类型中,也会是这样e在运行时可能会破坏整个目的,因为它们可能不会触发运行时异常。