# 委托

委托允许捕捉对方法的引用,并像传递其他对象那样传递引用,像调用其他方法那样调用被捕捉的方法。

委托类型 表示对具有特定参数列表和返回类型的方法的引用。 通过委托,可以将方法视为可分配给变量并可作为参数传递的实体。 委托还类似于其他一些语言中存在的“函数指针”概念。 与函数指针不同,委托是面向对象且类型安全的。

官方文档

系统的委托类型

System.Action 无返回值的方法,最多16个参数

System.Func 有返回值的方法,同样最多16个参数

委托是将方法作为方法的参数

在IL中查看委托可以看到 委托被编译成一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。

上次更新: 2020年 03月 25日 17:16:01