You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CsvHelper 27.*.*.*版本不支持ClassMap的ConvertUsing?GetField也无法使用?

问题原因

CsvHelper 27.x 版本对转换相关API做了破坏性调整,原有直接接收IReaderRow参数的ConvertUsing重载已被移除,字段读取方法需要从转换上下文的Row属性中调用。

修正后的代码

public class CashManagementRecordMap : ClassMap<CashManagementRecord>
{
    public CashManagementRecordMap()
    {
        Map(m => m.RevenueCenterNumber).Convert(args => Convert.ToInt32(args.Row.GetField(1)));
    }
}

变更说明

  • 原有单参数的ConvertUsing方法替换为Convert方法,入参为ConvertFromStringArgs类型
  • 原来的行对象现在需要通过args.Row获取,之后可以继续调用GetField系列方法读取指定列内容
  • 如果需要同时适配写入场景的转换逻辑,可以使用双向转换的重载:
Map(m => m.RevenueCenterNumber)
    .Convert(
        args => Convert.ToInt32(args.Row.GetField(1)), 
        args => args.Value.ToString()
    );

内容的提问来源于stack exchange,提问作者Ashok Jangid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 07:33:03