CSVHelper v23 中的 PrepareHeaderForMatch 更改
PrepareHeaderForMatch change in CSVHelper v23
CSVHelper v23 中的重大更改包括“所有委托现在都采用单个结构参数”。 PrepareHeaderForMatch 是这些代表之一。我收到编译错误“Delegate 'PrepareHeaderForMatch' does not take 2 arguments”。
对于这个基本问题,我深表歉意,但我不确定如何在我的代码中修复 PrepareHeaderForMatch。我确信这很简单,但我在网上找不到任何示例或帮助。也许这个 post 将来会帮助到其他人。
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
};
我也一直在为这个问题挠头。您所说的发行说明没有说明如何解决问题,并且文档尚未更新。我终于不得不查看source code来解决它。
这个有效:
var csvConfig = new CsvConfiguration(CultureInfo.CurrentCulture)
{
PrepareHeaderForMatch = args => args.Header.ToLowerInvariant()
};
我更喜欢 args 的新 class,但一个关于重大更改的简单示例会很好。
CSVHelper v23 中的重大更改包括“所有委托现在都采用单个结构参数”。 PrepareHeaderForMatch 是这些代表之一。我收到编译错误“Delegate 'PrepareHeaderForMatch' does not take 2 arguments”。
对于这个基本问题,我深表歉意,但我不确定如何在我的代码中修复 PrepareHeaderForMatch。我确信这很简单,但我在网上找不到任何示例或帮助。也许这个 post 将来会帮助到其他人。
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
};
我也一直在为这个问题挠头。您所说的发行说明没有说明如何解决问题,并且文档尚未更新。我终于不得不查看source code来解决它。
这个有效:
var csvConfig = new CsvConfiguration(CultureInfo.CurrentCulture)
{
PrepareHeaderForMatch = args => args.Header.ToLowerInvariant()
};
我更喜欢 args 的新 class,但一个关于重大更改的简单示例会很好。