首页 文章

如何将方法标记为已过时或已弃用?

提问于
浏览
819

如何使用C#将方法标记为已过时或已弃用?

4 回答

  • 1347

    最短的方法是将ObsoleteAttribute添加为attribute to the method . 确保包含适当的解释:

    [Obsolete("Method1 is deprecated, please use Method2 instead.")]
    public void Method1()
    { … }
    

    您还可以导致编译失败,如果从代码中的某处调用此方法,则将方法的用法视为错误而不是警告:

    [Obsolete("Method1 is deprecated, please use Method2 instead.", true)]
    
  • 59

    要通过警告标记为已废弃:

    [Obsolete]
    private static void SomeMethod()
    

    使用时会收到警告:

    Obsolete warning is shown

    并使用IntelliSense:

    Obsolete warning with IntelliSense

    如果你想要一条消息:

    [Obsolete("My message")]
    private static void SomeMethod()
    

    这是IntelliSense工具提示:

    IntelliSense shows the obsolete message

    最后,如果您希望将用法标记为错误:

    [Obsolete("My message", true)]
    private static void SomeMethod()
    

    使用时,这是你得到的:

    Method usage is displayed as an error

    注意:使用该消息告诉人们应该使用什么,而不是为什么它已经过时 .

  • 83

    使用关键字 Obsolete 为方法添加注释 . 消息参数是可选的,但是很好地交流为什么该项目现在已过时和/或使用什么 .
    例:

    [System.Obsolete("use myMethodB instead")]
    void myMethodA()
    
  • 6

    使用 ObsoleteAttribute ,您可以显示 deprecated 方法 . 过时的属性有三个构造函数:

    [已废弃]:是一个无参数构造函数,是使用此属性的默认值 . [已废弃(字符串消息)]:在此格式中,您可以获得有关不推荐使用此方法的消息 . [已废弃(字符串消息,bool错误)]:在此格式中消息非常明确,但错误意味着,在编译时,编译器必须显示错误并导致编译失败 .

    enter image description here

相关问题