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

或者在警告里面:

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

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

为什么要否决一个方法?这个可能是该方法效率不够高、容易造成内存泄漏、或者兼容性不好等等很多原因。

那么如何否决一个方法?我想很多朋友都知道:使用Obsolete特性

很不高兴的说,我到现在才知道如何否决一个方法,于是用博客记录下来,免得久了就忘记了。

下面具体看看Obsolete特性是如何使用的。

1.假设有这样一个类:

using System;

namespace Test
{
class Program
{
static void Main(string[] args)
{ } static void OldPrintHelloWorld()
{
Console.Write("Hello ");
Console.Write("World");
Console.Write("\n");
} static void NewPrintHelloWorld()
{
Console.WriteLine("Hello World");
}
}
}

2.现在由于各种原因,我们想否决OldPrintHelloWorld方法,使得项目中尽可能少的使用或者不允许使用OldPrintHelloWorld方法。

3.我们给OldPrintHelloWorld加上Obsolete特性后,编译器会给出警告信息:

4.Obsolete特性具有3个重构的构造函数。大家可前往http://msdn.microsoft.com/zh-cn/library/system.obsoleteattribute(v=vs.110).aspx查阅。

本文允许转载,但请附上原文链接。

友情链接:http://www.zhoumy.cn

最新文章

  1. [修正] Firemonkey Android 显示 Emoji (颜文字)
  2. ubuntu 挂载windows共享目录的方法
  3. Children of the Candy Corn 分类: POJ 2015-07-14 08:19 7人阅读 评论(0) 收藏
  4. Mingyang.net:为什么不将Bean定义在Action参数中?
  5. Fiddler的基本介绍
  6. excel条型图示例
  7. 在大型项目上,Python 是个烂语言吗
  8. Python读取SQLite文件数据
  9. <Mastering KVM Virtualization>:第四章 使用libvirt创建你的第一台虚拟机
  10. Linux IO时事检测工具iostat
  11. Tomcat配置及不依赖IDEA部署web应用
  12. hdu 1277 AC自动机入门(指针版和数组版)
  13. mysql数据库字段类型详解
  14. Spring Boot集成Thymeleaf
  15. php变量什么情况下加大括号{}
  16. [脚本] 一个用于BMP到EPS转换的BAT脚本实现(需要安装bmeps)
  17. golang 如何判断变量的类型
  18. linux下永久添加静态路由
  19. [hihoCoder] #1096 : Divided Product
  20. HTML5 CSS3 专题 :诱人的实例 3D旋转木马效果相冊

热门文章

  1. sql server 备份与恢复系列四 大容量模式下的备份与还原
  2. 微信小程序 WXS实现json数据需要做过滤转义(filter)
  3. fail2ban[防止linux服务器被暴力破解]
  4. java --Integer 学习
  5. 你真的懂redis的数据结构了吗?redis内部数据结构和外部数据结构揭秘
  6. 依赖倒置原则(DIP)
  7. Nodejs sublime text 3安装与配置
  8. Python和Java编程题(六)
  9. MONGODB(二)——索引操作
  10. Java_Collections工具类