使用 RegisterClassMap 时 CsvHelper 错误

Bom*_*zan 1 c# csv generics csvhelper .net-core

我根据此处的官方文档建立了 CSV 文件的映射: https: //joshclose.github.io/CsvHelper/getting-started

这是我正在使用的课程

public class DropShippperCSV
{
    public string PurchaseOrderNumber { get; set; }
    public int ReleaseNumber { get; set; }
    public int LineNumber { get; set; }
    public string DeliveryCompanyName { get; set; }
    public string DeliveryCompanyTrackingNumber { get; set; }
}

public class DropShippperCSVMap : ClassMap<DropShippperCSV>
{
    public DropShippperCSVMap()
    {
        Map(m => m.PurchaseOrderNumber).Column("Delivery Company Tracking Number");
        Map(m => m.ReleaseNumber).Column("Release Number");
        Map(m => m.LineNumber).Column("Line Number");
        Map(m => m.DeliveryCompanyName).Column("Delivery Company Name");
        Map(m => m.DeliveryCompanyTrackingNumber).Column("Delivery Company Tracking Number");
    }
}
Run Code Online (Sandbox Code Playgroud)

然后像这样调用它

                var reader = new StreamReader(file.OpenReadStream());
                var csv = new CsvReader(reader);

                csv.Configuration.RegisterClassMap<DropShippperCSVMap>();
               var records = csv.GetRecords<DropShippperCSV>().ToList();
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

错误 CS0311 类型“DropShippperCSVMap”不能用作通用类型或方法“IReaderConfiguration.RegisterClassMap()”中的类型参数“TMap”。没有从“DropShippperCSVMap”到“CsvHelper.Configuration.ClassMap”的隐式引用转换。

我直接根据官方文档,我不知道我做错了什么

小智 18

使用csv.Context.RegisterClassMap<DropShippperCSVMap>();而不是csv.Configuration.RegisterClassMap<DropShippperCSVMap>();.