//通过扩展方法 创建一个类似List FindAll方法
namespace Blog_ExtensonMethod
{
//静态类
public static class ExtensionMethods
{ //声明一个委托(本次不是重点,后面介绍委托和事件)
public delegate bool MyCalcDelegate(T obj);
//静态方法
//第一版本
public static List ScreenValueList(this List list, MyCalcDelegate myCalc) //this关键字 后跟类型
{
List reslut = new List();
foreach (var item in list)
{
if (myCalc(item))
{
reslut.Add(item);
}
}
return reslut;
}
//第二版本
public static List ScreenValue(this List list, Func<T, bool> whereLambda)
{
return list.Where(whereLambda).ToList();
}
}
}
转载于:https://www.cnblogs.com/dex827/p/3383278.html