有没有办法让方法在Intellisense中不显示?

17

假设我有一个类,我想弃用其中的一个方法。是否可以使这个方法在智能感知中不显示,以便人们不会被诱惑使用它? 我只是希望现有使用该方法的代码继续编译,同时隐藏该方法。

做法是将该方法标记为已过时(deprecated)。在Java中,可以使用@Deprecated注解来实现。对于.NET语言,可以使用[System.Obsolete] 标志。
无论哪种语言,都可以通过配置IDE来隐藏已经被弃用的方法。例如,在Visual Studio中,可以在“智能感知”设置中勾选“隐藏过时的成员”复选框。
2个回答

12

8

或者,您可以使用System.ObsoleteAttribute。尽管它已经过时,但让该方法在智能感知中显示仍然是个好主意,因为从技术上讲它确实存在。

使用此属性将在智能感知中显示方法名称,但在其前面加上[deprecated]标记。

[Obsolete("Method is in the process of deprecation.")]
void MyMethod() {...}

如果您使用ReSharper,并告诉它覆盖Visual Studio的智能感知设置,它将在方法名称上加上删除线。

常规的Intellisense是否支持删除线?我认为这是Resharper的一个功能。 - James Curran

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接