Func<T1,T2,T3,T4,T5,TResult> Delegat

Definicja

Hermetyzuje metodę, która ma pięć parametrów i zwraca wartość typu określonego TResult przez parametr .

generic <typename T1, typename T2, typename T3, typename T4, typename T5, typename TResult>
public delegate TResult Func(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5);
public delegate TResult Func<in T1,in T2,in T3,in T4,in T5,out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5);
public delegate TResult Func<in T1,in T2,in T3,in T4,in T5,out TResult>(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) where T1 : allows ref struct where T2 : allows ref struct where T3 : allows ref struct where T4 : allows ref struct where T5 : allows ref struct where TResult : allows ref struct;
type Func<'T1, 'T2, 'T3, 'T4, 'T5, 'Result> = delegate of 'T1 * 'T2 * 'T3 * 'T4 * 'T5 -> 'Result
Public Delegate Function Func(Of In T1, In T2, In T3, In T4, In T5, Out TResult)(arg1 As T1, arg2 As T2, arg3 As T3, arg4 As T4, arg5 As T5) As TResult 

Parametry typu

T1

Typ pierwszego parametru metody, który ten delegat hermetyzuje.

Ten parametr typu jest kontrawariantny. Oznacza to, że możesz użyć typu, który został przez Ciebie określony, lub dowolnego typu, który jest mniej pochodny. Aby uzyskać więcej informacji o kowariancji i kontrawariancji, zobacz Kowariancja i kontrawariancja w typach ogólnych.
T2

Typ drugiego parametru metody, który ten delegat hermetyzuje.

Ten parametr typu jest kontrawariantny. Oznacza to, że możesz użyć typu, który został przez Ciebie określony, lub dowolnego typu, który jest mniej pochodny. Aby uzyskać więcej informacji o kowariancji i kontrawariancji, zobacz Kowariancja i kontrawariancja w typach ogólnych.
T3

Typ trzeciego parametru metody, który ten delegat hermetyzuje.

Ten parametr typu jest kontrawariantny. Oznacza to, że możesz użyć typu, który został przez Ciebie określony, lub dowolnego typu, który jest mniej pochodny. Aby uzyskać więcej informacji o kowariancji i kontrawariancji, zobacz Kowariancja i kontrawariancja w typach ogólnych.
T4

Typ czwartego parametru metody, którą ten delegat hermetyzuje.

Ten parametr typu jest kontrawariantny. Oznacza to, że możesz użyć typu, który został przez Ciebie określony, lub dowolnego typu, który jest mniej pochodny. Aby uzyskać więcej informacji o kowariancji i kontrawariancji, zobacz Kowariancja i kontrawariancja w typach ogólnych.
T5

Typ piątego parametru metody, który ten delegat hermetyzuje.

Ten parametr typu jest kontrawariantny. Oznacza to, że możesz użyć typu, który został przez Ciebie określony, lub dowolnego typu, który jest mniej pochodny. Aby uzyskać więcej informacji o kowariancji i kontrawariancji, zobacz Kowariancja i kontrawariancja w typach ogólnych.
TResult

Typ zwracanej wartości metody, którą ten delegat hermetyzuje.

Ten parametr typu jest kowariantny. Oznacza to, że możesz użyć typu, który został przez Ciebie określony, lub dowolnego typu, który jest bardziej pochodny. Aby uzyskać więcej informacji o kowariancji i kontrawariancji, zobacz Kowariancja i kontrawariancja w typach ogólnych.

Parametry

arg1
T1

Pierwszy parametr metody, którą ten delegat hermetyzuje.

arg2
T2

Drugi parametr metody, którą ten delegat hermetyzuje.

arg3
T3

Trzeci parametr metody, którą ten delegat hermetyzuje.

arg4
T4

Czwarty parametr metody, którą ten delegat hermetyzuje.

arg5
T5

Piąty parametr metody, którą ten delegat hermetyzuje.

Wartość zwracana

TResult

Zwracana wartość metody, którą ten delegat hermetyzuje.

Uwagi

Tego delegata można użyć do reprezentowania metody, którą można przekazać jako parametr bez jawnego deklarowania delegata niestandardowego. Hermetyzowana metoda musi odpowiadać sygnaturze metody zdefiniowanej przez ten delegat. Oznacza to, że hermetyzowana metoda musi mieć pięć parametrów, z których każda jest przekazywana przez wartość, i że musi zwrócić wartość.

Note

Aby odwołać się do metody, która ma pięć parametrów i zwraca void (lub w Visual Basic, który jest zadeklarowany jako Sub, a nie jako Function), użyj ogólnego Action<T1,T2,T3,T4,T5> delegata.

Możesz również użyć delegata Func<T1,T2,T3,T4,T5,TResult> z metodami anonimowymi i wyrażeniami lambda.

Podstawowym typem wyrażenia lambda jest jeden z delegatów ogólnych Func . Dzięki temu można przekazać wyrażenie lambda jako parametr bez jawnego przypisania go do delegata.

Metody rozszerzania

Nazwa Opis
GetMethodInfo(Delegate)

Pobiera obiekt reprezentujący metodę reprezentowaną przez określonego delegata.

Dotyczy

Zobacz też