CsvHelper:如何在内联类型转换(ConvertUsing)中访问已映射的类属性

问题描述 投票:0回答:1

我想知道在映射过程中是否可以从映射的类访问属性。请参见下面的示例。

public class FooCsvMap : ClassMap<FooModel>
{
    public FooCsvMap(BarService barService)
    {
        Map(m => m.BarObject).ConvertUsing(row => barService.Lookup(row.GetField(0)));
        Map(m => m.Bar2).ConvertUsing(row =>
        {
            // ?? Is it possible to access m.BarObject? If yes how?
            var barObject = row.model.BarObject;
        });
    }
}
c# csvhelper
1个回答
0
投票

如果您使用的是CsvWriter,则可以直接访问BarObject

var barObject = row.BarObject;

[不幸的是,如果您使用的是CsvReader,我相信您只能访问原始行数据,因为此时尚未创建FooModel对象。因此,您将必须执行以下操作。

var barObject = barService.Lookup(row.GetField(0));
© www.soinside.com 2019 - 2024. All rights reserved.