考虑以下代码示例:
using System;
using System.Linq.Expressions;
public class Class1<T, Y>
{
public Class1(Expression<Func<T, Y>> mapExpression)
{
GetValue = mapExpression.Compile();
}
public Func<T, Y> GetValue { get; protected set; }
}
public class DataClass
{
public long Data { get; set; }
}
现在假设我在不同的地方创建 Class1 的新实例,例如
var instance1 = new Class1<DataClass, long>(x => x.Data);
var instance2 = new Class1<DataClass, long>(x => x.Data);
当我这样做时,会发生什么:
最佳答案
关于C# 编译的 lambda 表达式实例创建和/或垃圾收集?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3940261/