Class RequestHandlerFactory
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.