Атрибут.net не поддерживает делегирование?
Я пытаюсь использовать делегирование при передаче параметра в атрибут, но компилятор получил ошибку:"Условие параметра конструктора не является допустимым типом параметров характеристики". Не поддерживает делегирование атрибута.net? Или есть альтернатива для передачи Функцию приписать? код:
public class Class1
{
[ValidateIf(c=>c=="hellow")]
public string testStr { get; set; }
}
public class ValidateIfAttribute : ValidationAttribute
{
public Func<object, bool> Condition { get; set; }
public ValidateIfAttribute(Func<object, bool> condition) : base()
{
this.Condition = condition;
}
public override bool IsValid(object value)
{
if (Condition(value))
{
return true;
}
return base.IsValid(value);
}
}
1 ответ
Попробуйте использовать делегатов? или вы пытаетесь добиться чего-то особенного в этом случае?