【发布时间】:2017-05-10 22:32:17
【问题描述】:
我在将参数传递给属性时尝试使用委托,但编译器出错:“构造函数参数条件不是有效的特征参数类型”。.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);
}
}
【问题讨论】:
标签: c# .net attributes func delegation