当前位置:  开发笔记 > 编程语言 > 正文

如何将类标记为已弃用?

如何解决《如何将类标记为已弃用?》经验,为你挑选了3个好方法。

您需要使用该属性[Obsolete].

这是一个例子:

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

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



1> Patrick Desj..:

您需要使用该属性[Obsolete].

这是一个例子:

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

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


`[过时("不再使用",真实)]`这里有两个主要缺陷:1.如果代码不再使用它应该被删除2.解释不提供使用/做什么的信息代替.
一种用例是:将其“ 1或2个发行版”保留为默认设置(“ false”),并在注释中提及。然后在适当的时候将其更改为“ true”,这样那些仍在使用它的人现在将在其代码中出现错误并被迫进行更改。```[[已淘汰(“将于2018年12月12日弃用。改为使用xyz。”]]```然后...```[[已经废除(“方法已于2018年12月12日弃用。改为使用xyz。”, true)]```。这样很清楚。然后在另一个日期将其完全删除。

2> Rebecca..:

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

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

这只会发出警告.


您也可以完全关闭属性(默认为false):`[已淘汰(“不再使用”)]]; 就个人而言,我发现在末尾没有布尔值的情况下可读性更高。

3> 小智..:

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

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

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有