public virtual IOutcome <TNextFailure, TValue> OtherwiseFail <TNextFailure>(Func <TCause, TNextFailure> action) where TNextFailure : Exception => Success.Of <TNextFailure, TValue>(value);
public virtual IOutcome <TNextFailure, TNextSuccess> OtherwiseTo <TNextFailure, TNextSuccess>(Func <TCause, IOutcome <TNextFailure, TNextSuccess> > action) where TNextFailure : Exception { return(Success.Of <TNextFailure, TNextSuccess>((TNextSuccess)(object)value)); }
public virtual IOutcome <TCause, Tuple <TValue, TSecondSuccess> > AlongWith <TOtherFailure, TSecondSuccess>(IOutcome <TOtherFailure, TSecondSuccess> outcome) where TOtherFailure : Exception { return(outcome.AndThenTo( secondOutcome => Success.Of <TCause, Tuple <TValue, TSecondSuccess> >(Tuple.Create(value, secondOutcome)))); }
public virtual IOutcome <TCause, TNextSuccess> AndThen <TNextSuccess>(Func <TValue, TNextSuccess> action) { return(Success.Of <TCause, TNextSuccess>(action.Invoke(value))); }
public virtual IOutcome <TCause, TValue> Otherwise(Func <TCause, TValue> action) { return(Success.Of <TCause, TValue>(action.Invoke(cause))); }