如何将类标记为已弃用?

时间:2008-11-24 15:37:59

标签: c# .net oop deprecated

  

可能重复:
  How do I mark a method as Obsolete/Deprecated? - C#

如何将某个类标记为已弃用?我不想在我的项目中再使用一个类,但不希望在2周之前删除它。

4 个答案:

答案 0 :(得分:369)

您需要使用属性[Obsolete]

这是一个例子:

[Obsolete("Not used any more", true)]
public class MyDeprecatedClass
{
    //...
}

您没有使用参数,它们是可选的(重载方法)。第一个参数是出于这个原因,最后一个是在编译时标记错误而不是警告。

答案 1 :(得分:39)

根据Doak的回答,如果你想要编译代码,属性的第二个参数应该设置为false:

[Obsolete("Not used any more", false)]
public class MyDeprecatedClass
{
        //...
}

这只会发出警告。

答案 2 :(得分:20)

不擦除类并弃用的原因是当您的代码是已建立的API然后被第三方使用时,遵守一些“礼貌政策”。

如果您弃用而不是擦除,则为消费者提供生命周期策略(例如,维护和存在类,直到版本X.X),以便允许他们计划正确迁移到新API。

答案 3 :(得分:-9)

如果您正在使用版本控制,我建议您删除该类。没有理由使用未使用的代码。

如果您稍后决定要使用该类,则版本控制将是一个方便的撤销。