Как зарегистрировать необязательный декоратор или декоратор с необязательными параметрами, используя structmap asp.net mvc?
1 ответ
0
В случае, если кто-нибудь столкнется с этим позже, я решил добавить класс DefaultCommandValidator в качестве класса шаблона Null Object:
public class DefaultCommandValidator<TCommand> : ICommandValidator<TCommand> where TCommand : CommandBase
{
public IEnumerable<string> Validate(TCommand command)
{
return Enumerable.Empty<string>();
}
}
А затем добавьте эту строку в реестр карт структуры:
For(typeof(ICommandValidator<>)).Use(typeof(DefaultCommandValidator<>));
Я не знал, что этот синтаксис структурной карты будет на самом деле использовать экземпляр ТОЛЬКО по умолчанию, если он не может найти конкретную реализацию ICommandValidator<TCommand>
. Теперь, если у меня нет валидатора, я просто не добавляю его, а экземпляр DefaultCommandValidator<TCommand>
используется для возврата пустого /успешная проверка.
ответил ryanulit 10 PM00000060000003931 2015, 18:09:39