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>();.