Fun<T, Result>

public delegate TResult Func<in T1, in T2...., out TResult>(T1 arg1, T2 arg2....);

T代表输入参数,可以是1个或多个

out TResult代表输出参数

arg 委托封装方法的参数

当我们使用一个或多个参数并且返回一个值时,可以不用自己定义委托,使用已经定义好的委托。

 

注:若引用一个具有一个参数并且返回值为空(void)的方法,则需要使用泛型Action<T>委托

 

例如:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Func<int, bool> f1 = IsNumberLessThan5;
            Console.WriteLine(f1(10));
            Console.ReadKey();
        }

        private static bool IsNumberLessThan5(int number)
        {
            return number < 5;
        }
    }
}

  

 

posted @ 2016-08-20 16:22  吃饱了混天黑嘿嘿  阅读(265)  评论(0编辑  收藏  举报