Прочитать на английском

Поделиться через


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

Возвращаемое значение метода, инкапсулируемого данным делегатом.

Комментарии

Этот делегат можно использовать для представления метода, который можно передать в качестве параметра без явного объявления пользовательского делегата. Инкапсулированный метод должен соответствовать сигнатуре метода, определенной этим делегатом. Это означает, что инкапсулированный метод должен иметь восемь параметров, каждый из которых передается в него по значению, и что он должен возвращать значение.

Примечание

Чтобы сослаться на метод, имеющий восемь параметров и возвращающих void (или в Visual Basic, который объявлен как не как Sub аFunction), используйте вместо него универсальный Action<T1,T2,T3,T4,T5,T6,T7,T8> делегат.

Делегат также можно использовать Func<T1,T2,T3,T4,T5,T6,T7,T8,TResult> с анонимными методами и лямбда-выражениями.

Базовый тип лямбда-выражения является одним из универсальных Func делегатов. Это позволяет передать лямбда-выражение в качестве параметра без явного назначения его делегату.

Методы расширения

GetMethodInfo(Delegate)

Получает объект, представляющий метод, представленный указанным делегатом.

Применяется к

См. также раздел