加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Lambda Func <>和Fluent

发布时间:2020-12-15 08:06:35 所属栏目:百科 来源:网络整理
导读:现在有许多Fluent实现可以与Lambdas一起完成非常整洁的工作.我想把我的大脑包裹起来,这样我就可以开始创造一些这样的东西了,但我还没有找到一个我的大脑能够理解的解释. 考虑这个简单的Person Validator示例 public class PersonValidator : IValidatorPerso
现在有许多Fluent实现可以与Lambdas一起完成非常整洁的工作.我想把我的大脑包裹起来,这样我就可以开始创造一些这样的东西了,但我还没有找到一个我的大脑能够理解的解释.

考虑这个简单的Person Validator示例

public class PersonValidator : IValidator<Person>
{
     public PersonValidator()
     {
          AddRule(p => p.FirstName).CannotBeNull().CannotBeBlank();
          AddRule(p => p.LastName).CannotBeNull().CannotBeBlank();
     }

     public List<ValidationResult> Validate(Person p)
     {
         // pseudo...
         apply all rules specified in constructor,return results
     }
}

我已经成功地使用我的Validator上的方法来完成所有这些工作的一部分…

public ValidationResult<T,TProp> AddRule<T,TProp>(Func<T,TProp> property)
{
    ... not sure what to do here.  This method gives me the ability to use the lambda
    ... for specifying which properties i want to validate
}

然后我可以创建扩展方法,扩展IValidator以实现CannotBeNull和CannotBeEmpty.

所以我似乎有问题的上半部分和后半部分,但我不确定如何将它们组合在一起.

寻找有意义的解释…我想“得到它”.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读