0
我想通过参数传递属性时使用委托,但编译器得到一个错误:“构造函数参数条件是不是一个有效的特征参数类型”.Doesn't .net属性支持委派?还是有其他替代方案传递一个Func属性? 代码:不.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);
}
}
我发现一个方法,以防止其他验证属性是executed.It将concenient如果属性接受一个lambda表达式。 –