zoukankan      html  css  js  c++  java
  • C#中的Obsolete特性(Attribute)

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

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

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

    示例

    复制代码
    using System;
    class Program
    {
        static void Main()
        {
            MethodA();
        }
    
        [Obsolete("Use MethodB instead")]
        static void MethodA()
        {
    
        }
    }
    复制代码

    该程序在编译时会产生警告消息:警告 1 “Program.MethodA()”已过时:“Use MethodB instead” 。

    对于C#中的其它构造器,用同样的方法来使用Attributes。Obsolete attribute可以不含参数;可以含一个参数,用以产生一个编译警告信息;也可以含两个参数,第一个参数用以产生编译警告/错误时的提示信息,第二个参数用以指定处理方式(true:产生编译错误;false:产生编译警告)。

    对于有不同版本的程序代码,obsolete attribute显得大有用武之地。如果开发了一个新的方法,并且可以确定不再希望使用某方法,那么就可以使用Obsolete attribute来修饰该方法,编译代码后,按警告/错误提示信息逐一更正原来的代码。在一个大型工程中,有助于协调不同的程序员所采用的方法。

  • 相关阅读:
    末学者笔记--KVM虚拟机管理(2)
    末学者笔记--OpenStack介绍(1)
    末学者笔记--openstack共享组件:rabbitmq(3)
    末学者笔记--KVM虚拟化(1)
    末学者笔记--Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署静态网站
    末学者笔记--Gitlab(二)
    末学者笔记--Git介绍(一)
    末学者笔记--Python模块
    末学者笔记--Python函数三玄
    末学者笔记--Python函数二玄
  • 原文地址:https://www.cnblogs.com/deepalley/p/14708912.html
Copyright © 2011-2022 走看看