Class CommandHandlerArgumentResolver

Namespace
Cratis.Arc.Commands
Assembly
Cratis.Arc.Core.dll

Represents an implementation of ICommandHandlerArgumentResolver.

[Singleton]
public class CommandHandlerArgumentResolver : ICommandHandlerArgumentResolver
Inheritance
CommandHandlerArgumentResolver
Implements
Inherited Members
Extension Methods

Constructors

CommandHandlerArgumentResolver(ICommandProvideInvoker)

Represents an implementation of ICommandHandlerArgumentResolver.

public CommandHandlerArgumentResolver(ICommandProvideInvoker provideInvoker)

Parameters

provideInvoker ICommandProvideInvoker

The ICommandProvideInvoker used to invoke the command's Provide method.

Methods

Resolve(ICommandHandler, CommandContext, IServiceProvider, ValidationResultSeverity?)

Resolves the arguments for the given command handler.

public ValueTask<CommandHandlerArgumentResolution> Resolve(ICommandHandler handler, CommandContext context, IServiceProvider serviceProvider, ValidationResultSeverity? allowedSeverity)

Parameters

handler ICommandHandler

The ICommandHandler to resolve arguments for.

context CommandContext

The CommandContext for the command being handled.

serviceProvider IServiceProvider

The IServiceProvider used to resolve arguments not produced by Provide.

allowedSeverity ValidationResultSeverity?

The maximum validation result severity to allow before short-circuiting.

Returns

ValueTask<CommandHandlerArgumentResolution>

A CommandHandlerArgumentResolution carrying the resolved arguments, or a short-circuiting CommandResult when the command's Provide method produced a blocking control value.