Table of Contents

Method Lift

Namespace
SodaFlow.Functional
Assembly
SodaFlow.Functional.dll

Lift<T1, T2, TResult>(Lazy<T1>, Lazy<T2>, Func<T1, T2, TResult>)

Lifts a function into lazy input values. The Lazy from this call has the value of that function on the values of the lazy inputs.

public static Lazy<TResult> Lift<T1, T2, TResult>(this Lazy<T1> a, Lazy<T2> b, Func<T1, T2, TResult> f)

Parameters

a Lazy<T1>

The first lazy input.

b Lazy<T2>

The second lazy input.

f Func<T1, T2, TResult>

The function to transform the lazy input value.

Returns

Lazy<TResult>

A lazy value which will give the value of the lazy input values a and b transformed by the function f.

Type Parameters

T1

The type of the first lazy input value.

T2

The type of the second lazy input value.

TResult

The type of the lazy return value.

Lift<T1, T2, T3, TResult>(Lazy<T1>, Lazy<T2>, Lazy<T3>, Func<T1, T2, T3, TResult>)

Lifts a function into lazy input values. The Lazy from this call has the value of that function on the values of the lazy inputs.

public static Lazy<TResult> Lift<T1, T2, T3, TResult>(this Lazy<T1> a, Lazy<T2> b, Lazy<T3> c, Func<T1, T2, T3, TResult> f)

Parameters

a Lazy<T1>

The first lazy input.

b Lazy<T2>

The second lazy input.

c Lazy<T3>

The third lazy input.

f Func<T1, T2, T3, TResult>

The function to transform the lazy input value.

Returns

Lazy<TResult>

A lazy value which will give the value of the lazy input values a, b, and c transformed by the function f.

Type Parameters

T1

The type of the first lazy input value.

T2

The type of the second lazy input value.

T3

The type of the third lazy input value.

TResult

The type of the lazy return value.

Lift<T1, T2, T3, T4, TResult>(Lazy<T1>, Lazy<T2>, Lazy<T3>, Lazy<T4>, Func<T1, T2, T3, T4, TResult>)

Lifts a function into lazy input values. The Lazy from this call has the value of that function on the values of the lazy inputs.

public static Lazy<TResult> Lift<T1, T2, T3, T4, TResult>(this Lazy<T1> a, Lazy<T2> b, Lazy<T3> c, Lazy<T4> d, Func<T1, T2, T3, T4, TResult> f)

Parameters

a Lazy<T1>

The first lazy input.

b Lazy<T2>

The second lazy input.

c Lazy<T3>

The third lazy input.

d Lazy<T4>

The fourth lazy input.

f Func<T1, T2, T3, T4, TResult>

The function to transform the lazy input value.

Returns

Lazy<TResult>

A lazy value which will give the value of the lazy input values a, b, c, and d transformed by the function f.

Type Parameters

T1

The type of the first lazy input value.

T2

The type of the second lazy input value.

T3

The type of the third lazy input value.

T4

The type of the fourth lazy input value.

TResult

The type of the lazy return value.