public void Validate(object obj, PropertyDescriptor propInfo, ValidateErrorsList errorsList)
        {
            // получаем стратегию
            var strategy = _strategies[_valid.Value.ObjectValidName];

            if (strategy == null)
            {
                throw new DeveloperException("Strategy '{0}' is not registered for validate", _valid.Value.ObjectValidName ?? "NULL");
            }

            // запускаем стратегию
            var context = new ValidateStrategyContext(obj, propInfo, _valid.Value.ObjectValidParameters, _valid.Value.ObjectValidValue)
            {
                ErrorMessage = _valid.Value.ObjectValidMessage
            };

            if (strategy(context))
            {
                errorsList.Add(new ValidateError(context.ErrorMessage, _valid.Value.ObjectValidLevel));
            }
        }
 public static bool TestStrategy(string name, ValidateStrategyContext context)
 {
     return(_strategies[name](context));
 }