gpt4 book ai didi

C# Lambda 表达式或委托(delegate)作为属性或参数

转载 作者:太空狗 更新时间:2023-10-29 20:06:46 27 4
gpt4 key购买 nike

我想创建一个 ValidationRule 类来验证实体类型对象的属性。我真的很想设置要检查的属性的名称,然后为类提供一个委托(delegate)或 lambda 表达式,当对象运行其 IsValid() 方法时将在运行时对其进行评估。有没有人有这样的片段,或者关于如何将匿名方法作为参数或属性传递的任何想法?

另外,我不确定我是否在解释我想要完成的事情,所以如果我不清楚,请提问。

最佳答案

真的,你要用的是Func<T,bool>其中 T 是您要验证的项目的类型。然后你会做这样的事情

validator.AddValidation(item => (item.HasEnoughInformation() || item.IsEmpty());

您可以将它们存储在 List<Func<T,bool>> 中.

关于C# Lambda 表达式或委托(delegate)作为属性或参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/142090/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com