Атрибут.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 ответ

Попробуйте использовать делегатов? или вы пытаетесь добиться чего-то особенного в этом случае?

https://msdn.microsoft.com/en-us/library/ms173171.aspx

Другие вопросы по тегам