public virtual ICompletes <TNewResult> AndThen <TNewResult>(Func <TResult, TNewResult> function) { var parent = Parent ?? this; var continuationCompletes = new AndThenContinuation <TResult, TNewResult>(parent, this, function); parent.AndThenInternal(continuationCompletes); return(continuationCompletes); }
public ICompletes <TResult> AndThenConsume(Action <TResult> consumer) { var parent = Parent ?? this; var continuationCompletes = new AndThenContinuation <TResult, TResult>(parent, this, consumer); parent.AndThenInternal(continuationCompletes); return(continuationCompletes); }
public ICompletes <TNewResult> AndThen <TNewResult>(TNewResult failedOutcomeValue, Func <TResult, TNewResult> function) { var parent = Parent ?? this; var scheduledContinuation = new AndThenContinuation <TResult, TNewResult>(parent, this, Optional.Of(failedOutcomeValue), function); parent.AndThenInternal(scheduledContinuation); return(scheduledContinuation); }
public ICompletes <TResult> AndThenConsume(TResult failedOutcomeValue, Action <TResult> consumer) { var parent = Parent ?? this; var continuationCompletes = new AndThenContinuation <TResult, TResult>(parent, this, Optional.Of(failedOutcomeValue), consumer); parent.AndThenInternal(continuationCompletes); return(continuationCompletes); }