.net属性是否支持委托?

时间:2016-12-26 12:51:54

标签: c# .net attributes func delegation

我试图在传递param属性时使用委托,但是编译器出错:“构造函数参数条件不是有效的特征参数类型”。不是.net属性支持委托吗?还是有替代方法将Func传递给属性? 代码:

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 个答案:

答案 0 :(得分:0)

尝试使用代理人?或者你是否想在这种情况下做一些特别的事情?

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