Table of Contents

Class LambdaExtensions

Namespace
LfrlAnvil.Functional.Extensions
Assembly
LfrlAnvil.Functional.dll

Contains various delegate extensions.

public static class LambdaExtensions
Inheritance
LambdaExtensions
Inherited Members

Methods

Purify<T1>(OutFunc<T1>)

Creates a new delegate that invokes the provided func and returns its out result as Maybe<T>.

[Pure]
public static Func<Maybe<T1>> Purify<T1>(this OutFunc<T1> func) where T1 : notnull

Parameters

func OutFunc<T1>

Source delegate.

Returns

Func<Maybe<T1>>

New delegate.

Type Parameters

T1

Delegate's out parameter's type.

Purify<T1, T2>(OutFunc<T1, T2>)

Creates a new delegate that invokes the provided func and returns its out result as Maybe<T>.

[Pure]
public static Func<T1, Maybe<T2>> Purify<T1, T2>(this OutFunc<T1, T2> func) where T2 : notnull

Parameters

func OutFunc<T1, T2>

Source delegate.

Returns

Func<T1, Maybe<T2>>

New delegate.

Type Parameters

T1

Delegate's first parameter's type.

T2

Delegate's out parameter's type.

Purify<T1, T2, T3>(OutFunc<T1, T2, T3>)

Creates a new delegate that invokes the provided func and returns its out result as Maybe<T>.

[Pure]
public static Func<T1, T2, Maybe<T3>> Purify<T1, T2, T3>(this OutFunc<T1, T2, T3> func) where T3 : notnull

Parameters

func OutFunc<T1, T2, T3>

Source delegate.

Returns

Func<T1, T2, Maybe<T3>>

New delegate.

Type Parameters

T1

Delegate's first parameter's type.

T2

Delegate's second parameter's type.

T3

Delegate's out parameter's type.

Purify<T1, T2, T3, T4>(OutFunc<T1, T2, T3, T4>)

Creates a new delegate that invokes the provided func and returns its out result as Maybe<T>.

[Pure]
public static Func<T1, T2, T3, Maybe<T4>> Purify<T1, T2, T3, T4>(this OutFunc<T1, T2, T3, T4> func) where T4 : notnull

Parameters

func OutFunc<T1, T2, T3, T4>

Source delegate.

Returns

Func<T1, T2, T3, Maybe<T4>>

New delegate.

Type Parameters

T1

Delegate's first parameter's type.

T2

Delegate's second parameter's type.

T3

Delegate's third parameter's type.

T4

Delegate's out parameter's type.

ToAction(Func<Nil>)

Creates a new delegate that invokes the provided func and ignores its result.

[Pure]
public static Action ToAction(this Func<Nil> func)

Parameters

func Func<Nil>

Source delegate.

Returns

Action

New delegate.

ToAction<T1>(Func<T1, Nil>)

Creates a new delegate that invokes the provided func and ignores its result.

[Pure]
public static Action<T1> ToAction<T1>(this Func<T1, Nil> func)

Parameters

func Func<T1, Nil>

Source delegate.

Returns

Action<T1>

New delegate.

Type Parameters

T1

Delegate's first parameter's type.

ToAction<T1, T2>(Func<T1, T2, Nil>)

Creates a new delegate that invokes the provided func and ignores its result.

[Pure]
public static Action<T1, T2> ToAction<T1, T2>(this Func<T1, T2, Nil> func)

Parameters

func Func<T1, T2, Nil>

Source delegate.

Returns

Action<T1, T2>

New delegate.

Type Parameters

T1

Delegate's first parameter's type.

T2

Delegate's second parameter's type.

ToAction<T1, T2, T3>(Func<T1, T2, T3, Nil>)

Creates a new delegate that invokes the provided func and ignores its result.

[Pure]
public static Action<T1, T2, T3> ToAction<T1, T2, T3>(this Func<T1, T2, T3, Nil> func)

Parameters

func Func<T1, T2, T3, Nil>

Source delegate.

Returns

Action<T1, T2, T3>

New delegate.

Type Parameters

T1

Delegate's first parameter's type.

T2

Delegate's second parameter's type.

T3

Delegate's third parameter's type.

ToAction<T1, T2, T3, T4>(Func<T1, T2, T3, T4, Nil>)

Creates a new delegate that invokes the provided func and ignores its result.

[Pure]
public static Action<T1, T2, T3, T4> ToAction<T1, T2, T3, T4>(this Func<T1, T2, T3, T4, Nil> func)

Parameters

func Func<T1, T2, T3, T4, Nil>

Source delegate.

Returns

Action<T1, T2, T3, T4>

New delegate.

Type Parameters

T1

Delegate's first parameter's type.

T2

Delegate's second parameter's type.

T3

Delegate's third parameter's type.

T4

Delegate's fourth parameter's type.

ToAction<T1, T2, T3, T4, T5>(Func<T1, T2, T3, T4, T5, Nil>)

Creates a new delegate that invokes the provided func and ignores its result.

[Pure]
public static Action<T1, T2, T3, T4, T5> ToAction<T1, T2, T3, T4, T5>(this Func<T1, T2, T3, T4, T5, Nil> func)

Parameters

func Func<T1, T2, T3, T4, T5, Nil>

Source delegate.

Returns

Action<T1, T2, T3, T4, T5>

New delegate.

Type Parameters

T1

Delegate's first parameter's type.

T2

Delegate's second parameter's type.

T3

Delegate's third parameter's type.

T4

Delegate's fourth parameter's type.

T5

Delegate's fifth parameter's type.

ToAction<T1, T2, T3, T4, T5, T6>(Func<T1, T2, T3, T4, T5, T6, Nil>)

Creates a new delegate that invokes the provided func and ignores its result.

[Pure]
public static Action<T1, T2, T3, T4, T5, T6> ToAction<T1, T2, T3, T4, T5, T6>(this Func<T1, T2, T3, T4, T5, T6, Nil> func)

Parameters

func Func<T1, T2, T3, T4, T5, T6, Nil>

Source delegate.

Returns

Action<T1, T2, T3, T4, T5, T6>

New delegate.

Type Parameters

T1

Delegate's first parameter's type.

T2

Delegate's second parameter's type.

T3

Delegate's third parameter's type.

T4

Delegate's fourth parameter's type.

T5

Delegate's fifth parameter's type.

T6

Delegate's sixth parameter's type.

ToAction<T1, T2, T3, T4, T5, T6, T7>(Func<T1, T2, T3, T4, T5, T6, T7, Nil>)

Creates a new delegate that invokes the provided func and ignores its result.

[Pure]
public static Action<T1, T2, T3, T4, T5, T6, T7> ToAction<T1, T2, T3, T4, T5, T6, T7>(this Func<T1, T2, T3, T4, T5, T6, T7, Nil> func)

Parameters

func Func<T1, T2, T3, T4, T5, T6, T7, Nil>

Source delegate.

Returns

Action<T1, T2, T3, T4, T5, T6, T7>

New delegate.

Type Parameters

T1

Delegate's first parameter's type.

T2

Delegate's second parameter's type.

T3

Delegate's third parameter's type.

T4

Delegate's fourth parameter's type.

T5

Delegate's fifth parameter's type.

T6

Delegate's sixth parameter's type.

T7

Delegate's seventh parameter's type.

ToFunc(Action)

Creates a new delegate that invokes the provided action and returns Nil value.

[Pure]
public static Func<Nil> ToFunc(this Action action)

Parameters

action Action

Source delegate.

Returns

Func<Nil>

New delegate.

ToFunc<T1>(Action<T1>)

Creates a new delegate that invokes the provided action and returns Nil value.

[Pure]
public static Func<T1, Nil> ToFunc<T1>(this Action<T1> action)

Parameters

action Action<T1>

Source delegate.

Returns

Func<T1, Nil>

New delegate.

Type Parameters

T1

Delegate's first parameter's type.

ToFunc<T1, T2>(Action<T1, T2>)

Creates a new delegate that invokes the provided action and returns Nil value.

[Pure]
public static Func<T1, T2, Nil> ToFunc<T1, T2>(this Action<T1, T2> action)

Parameters

action Action<T1, T2>

Source delegate.

Returns

Func<T1, T2, Nil>

New delegate.

Type Parameters

T1

Delegate's first parameter's type.

T2

Delegate's second parameter's type.

ToFunc<T1, T2, T3>(Action<T1, T2, T3>)

Creates a new delegate that invokes the provided action and returns Nil value.

[Pure]
public static Func<T1, T2, T3, Nil> ToFunc<T1, T2, T3>(this Action<T1, T2, T3> action)

Parameters

action Action<T1, T2, T3>

Source delegate.

Returns

Func<T1, T2, T3, Nil>

New delegate.

Type Parameters

T1

Delegate's first parameter's type.

T2

Delegate's second parameter's type.

T3

Delegate's third parameter's type.

ToFunc<T1, T2, T3, T4>(Action<T1, T2, T3, T4>)

Creates a new delegate that invokes the provided action and returns Nil value.

[Pure]
public static Func<T1, T2, T3, T4, Nil> ToFunc<T1, T2, T3, T4>(this Action<T1, T2, T3, T4> action)

Parameters

action Action<T1, T2, T3, T4>

Source delegate.

Returns

Func<T1, T2, T3, T4, Nil>

New delegate.

Type Parameters

T1

Delegate's first parameter's type.

T2

Delegate's second parameter's type.

T3

Delegate's third parameter's type.

T4

Delegate's fourth parameter's type.

ToFunc<T1, T2, T3, T4, T5>(Action<T1, T2, T3, T4, T5>)

Creates a new delegate that invokes the provided action and returns Nil value.

[Pure]
public static Func<T1, T2, T3, T4, T5, Nil> ToFunc<T1, T2, T3, T4, T5>(this Action<T1, T2, T3, T4, T5> action)

Parameters

action Action<T1, T2, T3, T4, T5>

Source delegate.

Returns

Func<T1, T2, T3, T4, T5, Nil>

New delegate.

Type Parameters

T1

Delegate's first parameter's type.

T2

Delegate's second parameter's type.

T3

Delegate's third parameter's type.

T4

Delegate's fourth parameter's type.

T5

Delegate's fifth parameter's type.

ToFunc<T1, T2, T3, T4, T5, T6>(Action<T1, T2, T3, T4, T5, T6>)

Creates a new delegate that invokes the provided action and returns Nil value.

[Pure]
public static Func<T1, T2, T3, T4, T5, T6, Nil> ToFunc<T1, T2, T3, T4, T5, T6>(this Action<T1, T2, T3, T4, T5, T6> action)

Parameters

action Action<T1, T2, T3, T4, T5, T6>

Source delegate.

Returns

Func<T1, T2, T3, T4, T5, T6, Nil>

New delegate.

Type Parameters

T1

Delegate's first parameter's type.

T2

Delegate's second parameter's type.

T3

Delegate's third parameter's type.

T4

Delegate's fourth parameter's type.

T5

Delegate's fifth parameter's type.

T6

Delegate's sixth parameter's type.

ToFunc<T1, T2, T3, T4, T5, T6, T7>(Action<T1, T2, T3, T4, T5, T6, T7>)

Creates a new delegate that invokes the provided action and returns Nil value.

[Pure]
public static Func<T1, T2, T3, T4, T5, T6, T7, Nil> ToFunc<T1, T2, T3, T4, T5, T6, T7>(this Action<T1, T2, T3, T4, T5, T6, T7> action)

Parameters

action Action<T1, T2, T3, T4, T5, T6, T7>

Source delegate.

Returns

Func<T1, T2, T3, T4, T5, T6, T7, Nil>

New delegate.

Type Parameters

T1

Delegate's first parameter's type.

T2

Delegate's second parameter's type.

T3

Delegate's third parameter's type.

T4

Delegate's fourth parameter's type.

T5

Delegate's fifth parameter's type.

T6

Delegate's sixth parameter's type.

T7

Delegate's seventh parameter's type.

TryInvoke(Action)

Invokes the provided source and encapsulates the result in an Erratic<T> instance with Nil value type.

[Pure]
public static Erratic<Nil> TryInvoke(this Action source)

Parameters

source Action

Source delegate.

Returns

Erratic<Nil>

New Erratic<T> instance.

TryInvoke<T>(Func<T>)

Invokes the provided source and encapsulates the result in an Erratic<T> instance.

[Pure]
public static Erratic<T> TryInvoke<T>(this Func<T> source)

Parameters

source Func<T>

Source delegate.

Returns

Erratic<T>

New Erratic<T> instance.

Type Parameters

T

Result type.