【转】C# Obsolete(已弃用方法属性)

原文地址:https://www.cnblogs.com/lbonet/p/8582784.html

原文地址:https://www.cnblogs.com/hans_gis/archive/2011/11/19/2255592.html

试想一下,在代码中如何给调用者提示所调用的方法并不是最优的,它可以被一个更好的方法所替代?通常来说,你可以使用Obsolete特性来标记该方法是一个被荒弃的方法。

Obsolete attribute位于System命名空间,它是一个attribute类型,以Obsolete或者ObsoleteAttribute来指定attribute类型都是允许的,在编译时,会自动添加上 “Attribute” 后缀。

指定一个attribute,用方括号[]围起所期望的attribute,置于所要修饰的方法、接口、属性、委托、事件等语言元素之前。对于Obsolete attribute,还可以为其指定0、1或2个参数。

 class Realization : Interface
    {
        /// <summary>
        /// 已弃用的方法,Obsolete第二个参数设置为true,调用此方法会产生警告并引起编译器报错
        /// </summary>
        /// <param name="skey">参数</param>
        /// <returns></returns>
        [Obsolete("此方法已被弃用", true)]
        public string AbandonedOutput(string skey)
        {
            return null;
        }
        /// <summary>
        ///  已弃用的方法,调用时只会产生警告
        /// </summary>
        /// <param name="skey"></param>
        /// <returns></returns>
        [Obsolete("此方法已被弃用")]
        public string Output(string skey)
        {
            return string.Format("这个方法可以用{0}", skey);
        }

    }

 

posted @ 2021-07-25 17:56  花影疏帘  阅读(0)  评论(0)    收藏  举报