Currying
This static class contains several overloads for the Currying operation, where each overload deals with functions that contains different amounts of parameters, with or without a return.
Methods
Name
Parameters
Returns
Description
Curry
Func<T, T2, TResult> function
Func<T, Func<T2, TResult>>
Creates a new curried method of function.
Curry
Func<T, T2, T3, TResult> function
Func<T, Func<T2, Func<T3,TResult>>>
Creates a new curried method of function.
Curry
Func<T, T2, T3, T4, TResult> function
Func<T, Func<T2, Func<T3,Func<T4, TResult>>>>
Creates a new curried method of function.
Curry
Action<T, T2> action
Func<T, Action<T2>>
Creates a new curried method of function.
Curry
Action<T, T2, T3> action
Func<T, Func<T2, Action<T3>>>
Creates a new curried method of function.
Curry
Action<T, T2, T3, T4> action
Func<T, Func<T2, Func<T3,Action<T4>>>>
Creates a new curried method of function.
Usage
The overloads available in this class can be used to create new functions from existing functions.
In this example we'll consider an add
function as a function that performs a sum of two numbers:
With the application of the Curry
function is created a new function as return, this function needs only one of the parameters of the sum as argument and returns a new function. This last function needs the last parameter of the sum and return the result of this operation.
The fundamentals about Currying and another examples can be find in Fundamentals> Currying and Partial Application.
Last updated
Was this helpful?