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. 所以我似乎有问题的上半部分和后半部分,但我不确定如何将它们组合在一起. 寻找有意义的解释…我想“得到它”. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |