示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
        }
示例#3
0
        /// <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);
        }