如何将某个类标记为已弃用?我不想在我的项目中再使用一个类,但不希望在2周之前删除它。
答案 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)
如果您正在使用版本控制,我建议您删除该类。没有理由使用未使用的代码。
如果您稍后决定要使用该类,则版本控制将是一个方便的撤销。