Func<T1,T2,T3,T4,T5,T6,T7,T8,TResult> 委托

定义

封装一个方法,该方法具有八个参数,并返回 TResult 参数所指定的类型的值。

generic <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename TResult>
public delegate TResult Func(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8);
public delegate TResult Func<in T1,in T2,in T3,in T4,in T5,in T6,in T7,in T8,out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8);
type Func<'T1, 'T2, 'T3, 'T4, 'T5, 'T6, 'T7, 'T8, 'Result> = delegate of 'T1 * 'T2 * 'T3 * 'T4 * 'T5 * 'T6 * 'T7 * 'T8 -> 'Result
Public Delegate Function Func(Of In T1, In T2, In T3, In T4, In T5, In T6, In T7, In T8, Out TResult)(arg1 As T1, arg2 As T2, arg3 As T3, arg4 As T4, arg5 As T5, arg6 As T6, arg7 As T7, arg8 As T8) As TResult 

类型参数

T1

此委托封装的方法的第一个参数的类型。

这是逆变类型参数。 即,可以使用指定的类型,也可以使用派生程度较低的任何类型。 有关协变和逆变的详细信息,请参阅泛型中的协变和逆变
T2

此委托封装的方法的第二个参数的类型。

这是逆变类型参数。 即,可以使用指定的类型,也可以使用派生程度较低的任何类型。 有关协变和逆变的详细信息,请参阅泛型中的协变和逆变
T3

此委托封装的方法的第三个参数的类型。

这是逆变类型参数。 即,可以使用指定的类型,也可以使用派生程度较低的任何类型。 有关协变和逆变的详细信息,请参阅泛型中的协变和逆变
T4

此委托封装的方法的第四个参数的类型。

这是逆变类型参数。 即,可以使用指定的类型,也可以使用派生程度较低的任何类型。 有关协变和逆变的详细信息,请参阅泛型中的协变和逆变
T5

此委托封装的方法的第五个参数的类型。

这是逆变类型参数。 即,可以使用指定的类型,也可以使用派生程度较低的任何类型。 有关协变和逆变的详细信息,请参阅泛型中的协变和逆变
T6

此委托封装的方法的第六个参数的类型。

这是逆变类型参数。 即,可以使用指定的类型,也可以使用派生程度较低的任何类型。 有关协变和逆变的详细信息,请参阅泛型中的协变和逆变
T7

此委托封装的方法的第七个参数的类型。

这是逆变类型参数。 即,可以使用指定的类型,也可以使用派生程度较低的任何类型。 有关协变和逆变的详细信息,请参阅泛型中的协变和逆变
T8

此委托封装的方法的第八个参数的类型。

这是逆变类型参数。 即,可以使用指定的类型,也可以使用派生程度较低的任何类型。 有关协变和逆变的详细信息,请参阅泛型中的协变和逆变
TResult

此委托封装的方法的返回值类型。

这是协变类型参数。 即,可以使用指定的类型,也可以使用派生程度较高的任何类型。 有关协变和逆变的详细信息,请参阅泛型中的协变和逆变

参数

arg1
T1

此委托封装的方法的第一个参数。

arg2
T2

此委托封装的方法的第二个参数。

arg3
T3

此委托封装的方法的第三个参数。

arg4
T4

此委托封装的方法的第四个参数。

arg5
T5

此委托封装的方法的第五个参数。

arg6
T6

此委托封装的方法的第六个参数。

arg7
T7

此委托封装的方法的第七个参数。

arg8
T8

此委托封装的方法的第八个参数。

返回值

TResult

此委托封装的方法的返回值。

注解

可以使用此委托来表示可以作为参数传递的方法,而无需显式声明自定义委托。 封装的方法必须对应于此委托定义的方法签名。 这意味着封装的方法必须有八个参数,每个参数都按值传递给它,并且必须返回一个值。

注意

若要引用具有 8 个参数并返回 void (或在 Visual Basic 中声明为 Sub 而不是 Function) 的方法,请改用泛型 Action<T1,T2,T3,T4,T5,T6,T7,T8> 委托。

还可以将 Func<T1,T2,T3,T4,T5,T6,T7,T8,TResult> 委托与匿名方法和 lambda 表达式一起使用。

lambda 表达式的基础类型是泛型 Func 委托之一。 这样就可以将 lambda 表达式作为参数传递,而无需将其显式分配给委托。

扩展方法

GetMethodInfo(Delegate)

获取指示指定委托表示的方法的对象。

适用于

另请参阅