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

CsvHelper: How to access already mapped class properties within Inline Type Conversion (ConvertUsing)

我想知道是否可以在 CsvReader 的映射过程中从映射的 class 访问 属性。请看下面的例子。

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;
        });
    }
}

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

var barObject = row.BarObject;

不幸的是,如果您正在使用 CsvReader,我相信您只能访问原始行数据,因为此时尚未创建 FooModel 对象。所以你必须做这样的事情。

var barObject = barService.Lookup(row.GetField(0));