我有两个功能:Method(A val)
和Method(B val)
,一个val
类型A
,另一个类型B
。
我想将Method(A val)
标记为过时,以便IDE可以突出显示它已过时的事实。
我使用[Obsolete]
修饰了方法,但是,我没有将其视为已弃用。
我错过了什么吗?根据我的研究,我只看到了创建一个全新方法来替换旧方法的例子,但没有看到任何一个重载函数的例子取代了旧的已弃用的方法。任何帮助都将受到高度赞赏。
答案 0 :(得分:7)
Intellisense并不仅仅考虑单个过载折旧;它认为整个方法在它所显示的内容中已被弃用。
如果我们查看整个方法的智能感知弹出窗口:
与特定重载的弹出窗口相比:
但关键是,一旦我们完成对方法的调用,不推荐的重载会导致警告(或错误):
而另一个则没有:
答案 1 :(得分:0)
在另一个答案中,用户“Servy”提供了intellisense正在进行的细节 - 它在下拉列表中将它们组合在一起,任何过时的过载都将其标记为过时。我建议使用EditorBrowsable属性在编辑器中隐藏已弃用的版本(intellisense)。