c# - lambda 表达式的对象初始化器/构造函数自引用

标签 c# lambda object-initializers

我有一个简单的过滤器类,如下所示:

public class DateFilter
{
    public DateTime Value { get; set; }

    public Func<FilterObject, bool> Match { get; set; }
}

是否可以使用本地值在构造函数或对象初始值设定项中初始化 Match 函数?

创建过滤器后的分配示例:

var df = new DateFilter();
df.Match = (input) => df.Value > input.Date;

是否可以将示例简化为一条语句?

最佳答案

不,您不能在该变量的初始化程序中引用该变量。只有定义后才能引用。

关于c# - lambda 表达式的对象初始化器/构造函数自引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33179610/

相关文章:

c# - 为什么允许我修改对象初始值设定项只读的属性?

javascript - 无法在 'appendChild' : parameter 1 is not of type 'Node' error on append tr to a table 上执行 'Node'

c++ - 包装类的静态初始化列表

c# - Mvc .Net 从异步方法中捕获异常

c++ - 如何否定 boost::lambda:bind?

c# - 获取强类型方法的名称

python - 解释基本的 lambda 函数和排序

c# - 直接通过对象初始化器填充数组

c# - 使用其关系中的属性为子类建模的正确方法

c# - 查找对象中的空白字段 - C#