Extensões
Last updated
Was this helpful?
Last updated
Was this helpful?
Esta classe estática contém diversos métodos que funcionam como extensão para os delegates Action
e Func
. Com isso, é possível utilizar todos os métodos disponíveis nas classes e como extensão para os delegates.
Além disso, esta classe adiciona a possibilidade de converter uma Action
para um Func
que retorne um e vice-versa.
Nome
Parâmetros
Retorno
Descrição
ToFunction
this Action action
Func<Unit>
Converte um delegate Action para um delegate Func, mantendo os mesmos parâmetros e retornando um Unit.
ToFunction
this Action<T> action
Func<T, Unit>
Converte um delegate Action para um delegate Func, mantendo os mesmos parâmetros e retornando um Unit.
ToFunction
this Action<T, T2> action
Func<T, T2, Unit>
Converte um delegate Action para um delegate Func, mantendo os mesmos parâmetros e retornando um Unit.
ToFunction
this Action<T, T2, T3> action
Func<T, T2, T3, Unit>
Converte um delegate Action para um delegate Func, mantendo os mesmos parâmetros e retornando um Unit.
ToFunction
this Action<T, T2, T3, T4> action
Func<T, T2, T3, T4, Unit>
Converte um delegate Action para um delegate Func, mantendo os mesmos parâmetros e retornando um Unit.
ToAction
this Func<Unit> function
Action
Converte um delegate Func que retorne um Unit para um delegate Action, mantendo os mesmos parâmetros.
ToAction
this Func<T, Unit> function
Action<T>
Converte um delegate Func que retorne um Unit para um delegate Action, mantendo os mesmos parâmetros.
ToAction
this Func<T, T2, Unit> function
Action<T, T2>
Converte um delegate Func que retorne um Unit para um delegate Action, mantendo os mesmos parâmetros.
ToAction
this Func<T, T2, T3, Unit> function
Action<T, T2, T3>
Converte um delegate Func que retorne um Unit para um delegate Action, mantendo os mesmos parâmetros.
ToAction
this Func<T, T2, T3, T4, Unit> function
Action<T, T2, T3, T4>
Converte um delegate Func que retorne um Unit para um delegate Action, mantendo os mesmos parâmetros.
Atenção
Esta classe possui mais métodos, mas todos os métodos não listados aqui são apenas sobrecargas para os métodos disponíveis em e .
Estas sobrecargas simplesmente transformam os métodos das classes acima em extensões para os delegates
Func
eAction
.
Diferente das outras classes deste namespace, esta classe pode atuar como extensão para os delegates Func
e Action
, presentes na linguagem.
Após importar o namespace Tango.Functional
você será capaz de realizar estas operações como se elas fossem métodos dos próprios delegates!
Veja o exemplo a seguir:
Com isso podemos converter um delegate para outro facilmente!
Isso poderá auxiliá-lo na utilização de funções de alta ordem quando o parâmetro necessário for de um delegate diferente do utilizado para encapsular sua função!
Veja a função de soma descrita abaixo:
Podemos realizar tanto o processo de currying quanto de aplicação parcial, conforme código:
Perceba que os métodos agora podem ser utilizados como se fossem métodos do próprio delegate.
As operações de Curry e Aplicação Parcial funcionam de forma bastante similar às descritas nas seções: e , no entanto, através desta classe os métodos podem ser utilizados como extensão.
O conceito as técnicas de currying e aplicação parcial, além de mais exemplos podem ser encontrados na seção .