系统类扩展方法,实现对所有类或某种类扩展自定义方法
Posted mol1995
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统类扩展方法,实现对所有类或某种类扩展自定义方法相关的知识,希望对你有一定的参考价值。
扩展方法的格式:
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);
以上是关于系统类扩展方法,实现对所有类或某种类扩展自定义方法的主要内容,如果未能解决你的问题,请参考以下文章