带导航器的 C# 过时方法到新方法

C# Obsolete method with navigator to new method

是否可以将新方法添加到过时方法属性中,这样如果有人键入过时方法,新方法就会弹出?

与导航到 Count 的 List.Length 一样,还是它与它的对比?

没有。您应该提供一个很好的描述消息,其中包含有关如何重写代码的说明。 ObsoleteAttribute 是给开发人员的消息,表明他们正在使用的代码需要更新,这通常需要开发人员进行干预以确保更改不会影响行为。

可能会创建一个新属性和一些工具来根据属性中的信息更新源代码。但是,如果您需要这样的功能,则需要自己实现。我的猜测是处理各种边缘情况可能有点复杂。

我认为在VS IDE中你得不到你想要的。你的想法来自 Resharper Intellisense.

其实,VS IDE已经抛弃了过时的变量、属性等。您无法在 VS IDE 上找到它们。并且只有 Resharper Intellisense 保留旧的并且可以由 Intellisense 自动导航到新的建议。

但是,你应该注意这些要求是针对VS默认系统变量的,它们是内置参数(我们不能改变属性,函数之类的)。

如果你试试自己写的方法,属性,唯一的办法就是用ObsoleteAttribute。而且还得为每一个过时的方法手动添加注释,然后根据IntelliSense的提示手动改成新的方法。

无论是Resharper还是VS IDE,你无法获取Intellisense自动替换过时方法的功能

更详细,Resharper的提示更明显。 Test()Test1() 是我写的自定义方法,使用 ObsoleteAttribute.

VS IDE是:

建议

如果你仍然得到你想要的(为自定义过时的属性,方法添加自动替换功能),你应该suggest a feature on our DC Forum.

当你完成票后,你可以在这里分享link,包括我们在内的任何对它感兴趣的人都会投票。

有了所有这些,我想微软会更加重视它,帮助我们更快地处理它。