您的位置:首页 > 编程学习 > C# > 正文

C#中Obsolete

更多 时间:2014-12-5 类别:编程学习 浏览量:321

C#中Obsolete

C#中Obsolete

一、Obsolete在C#中的应用

在使用.Net Frameworkd进行开发时,经常可以在方法的智能提示ToolTip上面看到一个方法是【否决的】,如图:

或者在警告里面:

甚至使用【否决的】方法的时候还会造成编译错误:

上面的这些或许大家在日常的开发过程中或多或少的都碰到过。

 

二、为什么要使用Obsolete否决一个方法?

1、该方法效率不够高

2、容易造成内存泄漏

3、兼容性不好

4、可维护性低

 

三、C#中Obsolete如何使用

 

  •  
  • C# 代码   复制
  • 
    [Obsolete("This class is obsolete; use class B instead")]
     class A
     {
     [Obsolete("This function is obsolete", true)]
     public void F() {}
     }
     class B
     {
     public void F() {}
     }
     class Test
     {
     static void Main() {
     A a = new A(); // Warning
     a.F(); // Error
     }
     }
    
    		
  • 上面实例中:

    当声明A类对象时,得到警告信息   "This class is obsolete; use class B instead."


    当使用A类对象的F()方法时,得到错误信息   "This function is obsolete."   ( Obsolete 第二个参数为true )

     

    又如

    在Main函数中调用,只产生了一个警告的信息

    如果将MyObsolete类中的GetName方法属性设置中的false改为true,编译时直接报错提示

     

    标签:Attribute