2016-12-26 99 views
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); 
    } 
} 

回答