C#中Obsolete
类别:编程学习 浏览量:321
时间:2014-12-5 C#中Obsolete
C#中Obsolete一、Obsolete在C#中的应用
在使用.Net Frameworkd进行开发时,经常可以在方法的智能提示ToolTip上面看到一个方法是【否决的】,如图:
或者在警告里面:
甚至使用【否决的】方法的时候还会造成编译错误:
上面的这些或许大家在日常的开发过程中或多或少的都碰到过。
二、为什么要使用Obsolete否决一个方法?
1、该方法效率不够高
2、容易造成内存泄漏
3、兼容性不好
4、可维护性低
三、C#中Obsolete如何使用
[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