/// <summary> /// 委托方式 传入判断逻辑 /// 委托解耦:减少重复代码 /// </summary> /// <param name="students"></param> /// <param name="thanDelegate"></param> /// <returns></returns> public List <Student> GetStudentsDelegate(List <Student> students, ThanDelegate thanDelegate) { List <Student> result = new List <Student>(); foreach (var student in students) { if (thanDelegate.Invoke(student)) { result.Add(student); } } return(result); }
/// <summary> /// 判断逻辑传递进来+实现共用逻辑 /// 委托解耦,减少重复代码 /// </summary> /// <param name="source"></param> /// <param name="method"></param> /// <returns></returns> private List <Student> GetListDelegate(List <Student> source, ThanDelegate method) { List <Student> result = new List <Student>(); foreach (Student student in source) { if (method.Invoke(student)) { result.Add(student); } } return(result); }
/// <summary> /// 把判断逻辑传递进来 + 实现共用逻辑 /// /// 委托解耦, 减少重复代码 /// </summary> /// <param name="students"></param> /// <param name="dDelegate"></param> /// <returns></returns> private List <Student> GetListDelegate(List <Student> students, ThanDelegate dDelegate) { List <Student> resultList = new List <Student>(); foreach (var student in students) { if (dDelegate.Invoke(student)) { resultList.Add(student); } } return(resultList); }