C# 中使用 Obsolete 标志 代码过期

今天对项目做了一次更新,创建了一个新的类来替换原来的工作。

可是又不想删掉。一旦删掉在SVN上就不存在了。决定还是用 Obsolete来标志代码过期吧。


MSDN上关于Obsolete 标签的介绍

https://msdn.microsoft.com/zh-cn/library/22kk2b44%28VS.80%29.aspx

Obsolete 属性将某个程序实体标记为一个建议不再使用的实体。每次使用被标记为已过时的实体时,随后将生成警告或错误。这取决于属性是怎样配置的。



演示样例代码中分别对 类、函数进行 Obsolete 标记

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ObsoleteTest
{
    [Obsolete("A is Obsolete,Use C")]
    class A{}

    [Obsolete("B is Obsolete,Use C",true)]
    class B{}

    class C{}
    class Program
    {
        [Obsolete("FuncA is Obsolete,Use FunC")]
        static void FuncA() { }

        [Obsolete("FuncB is Obsolete,Use FunC",true)]
        static void FuncB() { }

        static void FuncC() { }

        static void Main(string[] args)
        {
            FuncA();
            FuncB();

            A a = new A();
            B b = new B();
        }
    }
}

进行编译之后,VS提示错误和警告


posted @ 2017-06-02 09:16  cxchanpin  阅读(3047)  评论(0编辑  收藏  举报