Table of Contents

Class RequestHandlerFactory

Namespace
LfrlAnvil.Requests
Assembly
LfrlAnvil.Requests.dll

Represents a factory of generic IRequestHandler<TRequest, TResult> instances.

public sealed class RequestHandlerFactory : IRequestHandlerFactory
Inheritance
RequestHandlerFactory
Implements
Inherited Members

Constructors

RequestHandlerFactory()

Creates a new empty RequestHandlerFactory instance.

public RequestHandlerFactory()

Methods

Register<TRequest, TResult>(Func<IRequestHandler<TRequest, TResult>>)

Sets a request handler factory for the given type of TRequest.

public RequestHandlerFactory Register<TRequest, TResult>(Func<IRequestHandler<TRequest, TResult>> factory) where TRequest : IRequest<TRequest, TResult>

Parameters

factory Func<IRequestHandler<TRequest, TResult>>

Request handler factory.

Returns

RequestHandlerFactory

this.

Type Parameters

TRequest

Request type.

TResult

Request's result type.

TryCreate<TRequest, TResult>()

Attempts to create an IRequestHandler<TRequest, TResult> instance.

public IRequestHandler<TRequest, TResult>? TryCreate<TRequest, TResult>() where TRequest : IRequest<TRequest, TResult>

Returns

IRequestHandler<TRequest, TResult>

IRequestHandler<TRequest, TResult> instance or null when instance could not be created.

Type Parameters

TRequest

Request type.

TResult

Request's result type.