首页 > 技术文章 > 系统类扩展方法,实现对所有类或某种类扩展自定义方法

mol1995 2017-09-09 20:57 原文

扩展方法的格式:

1、必须把扩展方法写在静态类中

2、扩展方法的第一个参数必须加 "this" 修饰

例如,对所有object对象的扩展方法IsEmptyOrNull,判断对象是否为空,object o 前加了this,所有Object对象都可调用此方法

public static bool IsEmptyOrNull(this object o)
{
     return o == DBNull.Value || string.IsNullOrWhiteSpace(o?.ToString());
}

 

再如,对所有List对象扩展方法ToDataTable:

public static DataTable ToDataTable<T>(this IList<T> list)
{
      .....
}

可以两种方式调用这种扩展方法:

1、对象名直接加点调用,如myList.ToDataTable();

2、通过类名调用如MyExtensions.ToDataTable(myList);

推荐阅读