Class AsyncStrategy<TIn, TOut>.Builder
- Namespace
- PatternKit.Behavioral.Strategy
- Assembly
- PatternKit.Core.dll
Fluent builder for composing AsyncStrategy<TIn, TOut> branches.
public sealed class AsyncStrategy<TIn, TOut>.Builder
- Inheritance
-
AsyncStrategy<TIn, TOut>.Builder
- Inherited Members
- Extension Methods
Remarks
Use When(Predicate) to add predicate/handler branches and Default(Handler) to set an optional fallback handler. Supports synchronous adapters for convenience—see When(Func<TIn, bool>), When(Func<TIn, CancellationToken, bool>), and Default(Func<TIn, TOut>).
Methods
Build()
Finalizes the configuration and creates an immutable AsyncStrategy<TIn, TOut>.
public AsyncStrategy<TIn, TOut> Build()
Returns
- AsyncStrategy<TIn, TOut>
An immutable strategy instance.
Default(Handler)
Sets the default (fallback) handler used when no predicates match.
public AsyncStrategy<TIn, TOut>.Builder Default(AsyncStrategy<TIn, TOut>.Handler handler)
Parameters
handlerAsyncStrategy<TIn, TOut>.HandlerThe asynchronous default handler.
Returns
- AsyncStrategy<TIn, TOut>.Builder
The current AsyncStrategy<TIn, TOut>.Builder for chaining.
Exceptions
- ArgumentNullException
Thrown when
handleris null.
Default(Func<TIn, TOut>)
Sets the default (fallback) handler using a synchronous delegate.
public AsyncStrategy<TIn, TOut>.Builder Default(Func<TIn, TOut> syncHandler)
Parameters
syncHandlerFunc<TIn, TOut>Synchronous default handler; wrapped as async.
Returns
- AsyncStrategy<TIn, TOut>.Builder
The current AsyncStrategy<TIn, TOut>.Builder for chaining.
When(Predicate)
Adds a new branch that will be considered during execution.
public AsyncStrategy<TIn, TOut>.Builder.WhenBuilder When(AsyncStrategy<TIn, TOut>.Predicate pred)
Parameters
predAsyncStrategy<TIn, TOut>.PredicateAn asynchronous predicate for the branch.
Returns
- AsyncStrategy<TIn, TOut>.Builder.WhenBuilder
A AsyncStrategy<TIn, TOut>.Builder.WhenBuilder that allows specifying the corresponding handler via Then(Handler).
Exceptions
- ArgumentNullException
Thrown when
predis null.
When(Func<TIn, bool>)
Adds a branch using a synchronous predicate (no CancellationToken).
public AsyncStrategy<TIn, TOut>.Builder.WhenBuilder When(Func<TIn, bool> syncPred)
Parameters
Returns
- AsyncStrategy<TIn, TOut>.Builder.WhenBuilder
A AsyncStrategy<TIn, TOut>.Builder.WhenBuilder to specify the handler.
When(Func<TIn, CancellationToken, bool>)
Adds a branch using a synchronous predicate that accepts a CancellationToken.
public AsyncStrategy<TIn, TOut>.Builder.WhenBuilder When(Func<TIn, CancellationToken, bool> syncPredWithCt)
Parameters
syncPredWithCtFunc<TIn, CancellationToken, bool>Synchronous predicate receiving a token; wrapped as async.
Returns
- AsyncStrategy<TIn, TOut>.Builder.WhenBuilder
A AsyncStrategy<TIn, TOut>.Builder.WhenBuilder to specify the handler.