RegisterGeneric
используется для открытых обобщенных c регистраций, где вы регистрируете обобщенный c тип без указания с указанием аргументов обобщенного c типа.
Но это не то, что вы здесь делаете. Вы регистрируетесь IPipelineBehavior<CreateUserCommand, OperationResult<string>>
, что является очень конкретным типом. Это generi c, но для него заданы аргументы типа, поэтому он похож на любой другой не-generi c тип.
Это означает, что вам придется использовать обычный RegisterType
method:
container.RegisterType(typeof(CheckUserNameExistValidation<CreateUserCommand, OperationResult<string>>))
.As(typeof(IPipelineBehavior<CreateUserCommand, OperationResult<string>>));
И, конечно, вы также можете использовать обобщенную c версию Register
тогда:
container.RegisterType<CheckUserNameExistValidation<CreateUserCommand, OperationResult<string>>>()
.As<IPipelineBehavior<CreateUserCommand, OperationResult<string>>>();