系统类扩展方法,实现对所有类或某种类扩展自定义方法
扩展方法的格式:
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);