Aplicação Parcial

Tango.Functional.PartialApplication

Esta classe estática contém diversas sobrecargas para realizar a aplicação parcial em uma função. Cada uma das sobrecargas espera uma função com diferentes quantidades de parâmetros, contendo ou não um retorno.

Métodos

Nome

Parâmetros

Retorno

Descrição

PartialApply

Func<T, TResult> function

T parameter

Func<TResult>

Cria uma nova função a partir de uma aplicação parcial à função informada no parâmetro.

PartialApply

Func<T, T2, TResult> function

T parameter

T2 parameter2

Func<TResult>

Cria uma nova função a partir de uma aplicação parcial à função informada no parâmetro.

PartialApply

Func<T, T2, TResult> function

T parameter

Func<T2,TResult>

Cria uma nova função a partir de uma aplicação parcial à função informada no parâmetro.

PartialApply

Func<T, T2, T3, TResult> function

T parameter

T2 parameter2

T3 parameter3

Func<TResult>

Cria uma nova função a partir de uma aplicação parcial à função informada no parâmetro.

PartialApply

Func<T, T2, T3, TResult> function

T parameter

T2 parameter2

Func<T3, TResult>

Cria uma nova função a partir de uma aplicação parcial à função informada no parâmetro.

PartialApply

Func<T, T2, T3, TResult> function

T parameter

Func<T2, T3, TResult>

Cria uma nova função a partir de uma aplicação parcial à função informada no parâmetro.

PartialApply

Func<T, T2, T3, T4, TResult> function

T parameter

T2 parameter2

T3 parameter3

T4 parameter4

Func<TResult>

Cria uma nova função a partir de uma aplicação parcial à função informada no parâmetro.

PartialApply

Func<T, T2, T3, T4, TResult> function

T parameter

T2 parameter2

T3 parameter3

Func<T4, TResult>

Cria uma nova função a partir de uma aplicação parcial à função informada no parâmetro.

PartialApply

Func<T, T2, T3, T4, TResult> function

T parameter

T2 parameter2

Func<T3, T4, TResult>

Cria uma nova função a partir de uma aplicação parcial à função informada no parâmetro.

PartialApply

Func<T, T2, T3, T4, TResult> function

T parameter

Func<T2, T3, T4, TResult>

Cria uma nova função a partir de uma aplicação parcial à função informada no parâmetro.

PartialApply

Action<T> action

T parameter

Action

Cria uma nova função a partir de uma aplicação parcial à função informada no parâmetro.

PartialApply

Action<T, T2> action

T parameter

T2 parameter2

Action

Cria uma nova função a partir de uma aplicação parcial à função informada no parâmetro.

PartialApply

Action<T, T2> action

T parameter

Action<T2>

Cria uma nova função a partir de uma aplicação parcial à função informada no parâmetro.

PartialApply

Action<T, T2, T3> action

T parameter

T2 parameter2

T3 parameter3

Action

Cria uma nova função a partir de uma aplicação parcial à função informada no parâmetro.

PartialApply

Action<T, T2, T3> action

T parameter

T2 parameter2

Action<T3>

Cria uma nova função a partir de uma aplicação parcial à função informada no parâmetro.

PartialApply

Action<T, T2, T3> action

T parameter

Action<T2, T3>

Cria uma nova função a partir de uma aplicação parcial à função informada no parâmetro.

PartialApply

Action<T, T2, T3, T4> function

T parameter

T2 parameter2

T3 parameter3

T4 parameter4

Action

Cria uma nova função a partir de uma aplicação parcial à função informada no parâmetro.

PartialApply

Action<T, T2, T3, T4> function

T parameter

T2 parameter2

T3 parameter3

Action<T4>

Cria uma nova função a partir de uma aplicação parcial à função informada no parâmetro.

PartialApply

Action<T, T2, T3, T4> function

T parameter

T2 parameter2

Action<T3, T4>

Cria uma nova função a partir de uma aplicação parcial à função informada no parâmetro.

PartialApply

Action<T, T2, T3, T4> function

T parameter

Action<T2, T3, T4>

Cria uma nova função a partir de uma aplicação parcial à função informada no parâmetro.

Como Usar

Assim como no processo de Currying, as diversas sobrecargas disponíveis podem ser utilizadas para criar novas funções a partir de funções existentes.

Neste exemplo vamos considerar a função add como uma função que realiza a soma de dois números:

 Func<int, int, int> add = (value, value2) => value + value2;

Ao aplicarmos a função PartialApply receberemos como retorno uma nova função, esta função esperará o último parâmetro da soma e retornará o resultado da soma.

Func<int, int, int> add = 
    (value, value2) => value + value2;

Func<int, int> addPartial = PartialApplication.PartialApply(add, 2);
int partialResult = addPartial(3);

Diferente do Currying, ao realizarmos a aplicação parcial precisamos informar um ou mais parâmetros da função e o retorno sempre será uma função que espera todos os parâmetros restantes e retorna o resultado da função principal.

O conceito para Aplicação Parcial e demais exemplos podem ser encontrados na seção Conceitos > Currying e Aplicação Parcial.

Last updated