大家可能经常遇到这种情况:当一个对象为null时,调用这个对象的方法或者属性时,就会报错:“Object reference not set to an instance of an object.”(未将对象引用到对象的实例)。下面我们要使用扩展方法,来巧妙避免这种情况的发生。

  首先新建一个类,定义为:NullUtils.cs,代码如下:

 namespace CSharpTools.Common.Helpers
{
public static class NullUtils
{
public static bool IsNull(this object o)
{
return o == null;
}
}
}

  然后,调用时,就可以如下做:

  首先,引入命名空间:

using CSharpTools.Common.Helpers;

然后,如下调用:

 if (o.IsNull())
{
Console.WriteLine("O is null, we should invoke its methods or properties!");
}
else
{
Console.WriteLine("O is not null, we can invoke it!");
}

注意,在调用扩展方法的时候,会显示:"Extension methods",如下所示:

运行结果:

搞定,就这么简单。

  

最新文章

  1. Nuget 命令 NuGet 管理项目库
  2. 如何在网页标题栏加入logo图标?
  3. Winform应用程序实现通用消息窗口
  4. linux运维工作职责
  5. NetworkComms V3 使用TCP通信传递IList<T>类型的数据
  6. tomcat结合nginx使用小结
  7. 如何判断js中的数据类型
  8. Google 开源项目风格指南
  9. C#动态数组ArrayList和List<T>的比较
  10. 006.Compile方法
  11. (转载)eclipse 快捷键大全,eclipse查找类,文件,添加注释
  12. 词组缩写(isalpha()的应用)
  13. js-轮播图
  14. 面向对象15.3String类-常见功能-判断
  15. ubunt tftp服务器搭建
  16. 解决Configuration 'compile' is obsolete and has been replaced with implementation
  17. [OC] 添加 pch 文件
  18. c++基础学习
  19. python+selenium八:Alert弹窗
  20. ⑥NuPlayer播放源码分析之DecoderBase分析

热门文章

  1. Java基础学习总结(80)——Java性能优化详解
  2. Eclipse 导出的jar包 , 使用后提示重复定义?
  3. [USACO 4.2] 完美的牛栏
  4. webpack打包的基础原理-打包后的文件解读
  5. cocos2d-x大版本号3.1系列一
  6. tomcat管理员password设置
  7. 第16章 ASP.NET MVC 日志篇
  8. 深入理解MVC C#+HtmlAgilityPack+Dapper走一波爬虫 StackExchange.Redis 二次封装 C# WPF 用MediaElement控件实现视频循环播放 net 异步与同步
  9. JAVA学习第二十一课(多线程(一)) - (初步了解)
  10. 如何在 webpack 项目中使用绝对路径