CSVHelper v23 中的PrepareHeaderForMatch 更改

Bry*_*ass 2 csvhelper

CSVHelper v23 中的重大更改包括“所有委托现在都接受单个结构参数”。PrepareHeaderForMatch 是这些委托之一。我收到编译错误“委托‘PrepareHeaderForMatch’不接受 2 个参数”。

我对这个基本问题感到抱歉,但我不确定如何修复我的代码中的PrepareHeaderForMatch。我确信这很简单,但我在网上找不到任何示例或帮助。也许这篇文章将来会对其他人有所帮助。

        var csvConfig = new CsvConfiguration(CultureInfo.CurrentCulture)
        { 
            HeaderValidated = null,
            MissingFieldFound = null,
            PrepareHeaderForMatch = (string header, int index) => header.ToLower()   // Match header and property names after converting to lower case
        };
Run Code Online (Sandbox Code Playgroud)

Jum*_*zza 5

我也一直在为这个问题摸不着头脑。正如您所说,发行说明没有说明如何解决问题,并且文档也没有更新。最后只好查看源码才解决。

这有效:

var csvConfig = new CsvConfiguration(CultureInfo.CurrentCulture)
{ 
    PrepareHeaderForMatch = args => args.Header.ToLowerInvariant()
};
Run Code Online (Sandbox Code Playgroud)

我更喜欢新的参数类,但如果有一个有关重大更改的简单示例就更好了。

  • 更改日志说明了这一点,但我忘记更新示例。我今天就这么做。 (2认同)