В этом фрагменте кода я добавляю ColumnInfo в список. На мой взгляд, выражение getter, переданное в метод ColumnInfo, вызывается для моих строк.Это все прекрасно работает, за исключением локальной переменной "childt.Naam", которая используется get в моем лямбда-выражении.
Оценка во время выполнения заставляет childt.Naam всегда быть последним из потомков, переданных в foreach.
Как я могу убедиться, что эти "локальные переменные" правильно переданы в выражение
foreach (var childt in itemt.ItemTemplates)
{
columns.Add(new ColumnInfo<Item>(model => level(model).GetV(childt.Naam, model.Taal) + childt.Naam, childt.Naam, new TextPropertyRenderer(), editable));
}
Вот соответствующие части конструктора класса ColumnInfo
public ColumnInfo(Expression<Func<TModel, object>> getter, string title, IPropertyRenderer renderer, bool editable = false)
{
this.renderer = renderer;
this.Editable = editable;
this.Getter = getter.Compile();
}