All

Inicializa uma nova instância de Continuation<(TFail1, TFail2, TFailN),(TSuccess1, TSuccess2, TSuccessN)> de acordo com os continuations informado nos parâmetros.

O novo Continuation<TFail, TSuccess> criado estará no estado Success somente quando todos os parâmetros também estiverem neste estado. Caso contrário ele será criado no estado Fail.

Parâmetros Retorno

Continuation<TFail1, TSuccess1> continuation1

Continuation<TFail2, TSuccess2> continuation2

Continuation<( Option<TFail1>, Option<TFail2>), (TSuccess1, TSuccess2)>

Continuation<TFail1, TSuccess1> continuation1

Continuation<TFail2, TSuccess2> continuation2

Continuation<TFail3, TSuccess3> continuation3

Continuation<( Option<TFail1>, Option<TFail2>, Option<TFail3>), (TSuccess1, TSuccess2, TSuccess3)>

Continuation<TFail1, TSuccess1> continuation1

Continuation<TFail2, TSuccess2> continuation2

Continuation<TFail3, TSuccess3> continuation3

Continuation<TFail4, TSuccess4> continuation4

Continuation<( Option<TFail1>, Option<TFail2>, Option<TFail3>, Option<TFail4>), (TSuccess1, TSuccess2, TSuccess3,TSuccess4)>

Como usar

Este método deve ser utilizado para unir diferentes valores Continuation em um único pipeline. É possível unir até quatro pipelines diferentes e todos os resultados serão agrupados em tuplas.

Unindo dois Continuations com sucesso

var continuation1 = 
    ContinuationModule.Resolve<string, int>(10);

var continuation2 = 
    ContinuationModule.Resolve<float, string>("number");

var result = ContinuationModule
                .All(continuation1, continuation2)
                .Then(values => $"{values.Item2} is {values.Item1}")

//result.IsSuccess = true
//result.Success = "number is 10"

Unindo Continuations quando um deles está no estado Fail

var continuation1 = 
    ContinuationModule.Resolve<string, int>(10);

var continuation2 = 
    ContinuationModule.Resolve<float, string>("number");

var continuation3 = 
    ContinuationModule.Reject<string, bool>("error");



var result = ContinuationModule
                .All(continuation1, continuation2)
                .Then(values => $"{values.Item2} is {values.Item1}")

//result.IsFail= true
//result.Fail= (
//    Option.IsNone = true,
//    Option.IsNone = true,
//    Option.IsSome = true | Option.Some = "error"
//)

results matching ""

    No results matching ""