代表
摘要
一个委托类型是表示一个特定的方法的签名类型。此类型的实例是指具有匹配签名的特定方法。方法参数可以具有委托类型,因此这一个方法可以传递对另一个方法的引用,然后可以调用该方法
内置代表类型:Action<...>
,Predicate<T>
和 Func<...,TResult>
System
命名空间包含 Action<...>
,Predicate<T>
和 Func<...,TResult>
委托,其中“…”表示 0 到 16 个泛型类型参数(对于 0 参数,Action
是非泛型的)。
Func
表示返回类型匹配 TResult
的方法,Action
表示没有返回值(void)的方法。在这两种情况下,附加的泛型类型参数按顺序匹配方法参数。
Predicate
表示布尔返回类型的方法,T 是输入参数。
自定义委托类型
可以使用 delegate
关键字声明命名的委托类型。
调用代表
可以使用与方法相同的语法调用委托:委托实例的名称,后跟包含任何参数的括号。
分配给代表
代表可以通过以下方式分配:
- 分配命名方法
- 使用 lambda 分配匿名方法
- 使用
delegate
关键字分配命名方法。
结合代表
可以使用+
运算符将多个委托对象分配给一个委托实例。-
运算符可用于从另一个委托中删除组件委托。