Table of Contents

Class RequestDispatcher

Namespace
LfrlAnvil.Requests
Assembly
LfrlAnvil.Requests.dll

Represents a dispatcher of generic IRequest<TRequest, TResult> instances.

public sealed class RequestDispatcher : IRequestDispatcher
Inheritance
RequestDispatcher
Implements
Inherited Members
Extension Methods

Constructors

RequestDispatcher(IRequestHandlerFactory)

Creates a new RequestDispatcher instance.

public RequestDispatcher(IRequestHandlerFactory handlerFactory)

Parameters

handlerFactory IRequestHandlerFactory

Request handler factory instance.

Methods

TryDispatch<TRequest, TResult>(IRequest<TRequest, TResult>, out TResult)

Attempts to dispatch the provided IRequest<TRequest, TResult> instance.

public bool TryDispatch<TRequest, TResult>(IRequest<TRequest, TResult> request, out TResult result) where TRequest : class, IRequest<TRequest, TResult>

Parameters

request IRequest<TRequest, TResult>

Request to handle.

result TResult

out parameter that returns a result of the provided request if it was handled.

Returns

bool

true when the provided request was handled, otherwise false.

Type Parameters

TRequest

Request type.

TResult

Request's result type.

Exceptions

InvalidRequestTypeException

When the provided request is not of TRequest type.

TryDispatch<TRequest, TResult>(TRequest, out TResult)

Attempts to dispatch the provided IRequest<TRequest, TResult> instance.

public bool TryDispatch<TRequest, TResult>(TRequest request, out TResult result) where TRequest : struct, IRequest<TRequest, TResult>

Parameters

request TRequest

Request to handle.

result TResult

out parameter that returns a result of the provided request if it was handled.

Returns

bool

true when the provided request was handled, otherwise false.

Type Parameters

TRequest

Request type.

TResult

Request's result type.