如何分解这个写在csv文件中的代码



我有这些类。

public Record1(UniqueWallPart uniqueWallpart)
{
public readonly string field1 = "";
public readonly string field2 = "";;

}
public class Record1Map : ClassMap<Record1>
{
private Record1Map ()
{
Map(m => m.field1).Index(0).Name("f1");
Map(m => m.field2).Index(1).Name("f2");
}
}

和快速相同的Record2,但与其他字段。

我有一个类在csv文件中编写Record1的列表

using CsvHelper;
using CsvHelper.Configuration;
class writerRecord1
{
private ImmutableArray<SegmentRecord> Record1 ;

public string ToCsv()
{
using var writer = new StringWriter();
using var csv = new CsvWriter(writer, CultureInfo.InvariantCulture);
csv.Context.RegisterClassMap<Record1Map>();
csv.WriteRecords(Records);
writer.Flush();
return writer.ToString();
}
}

我想对代码进行因子分解,以便在classWriter2中编写ToCsv。

但在csv.Context.RegisterClassMap<Record1Map>();我必须明确地写下我使用的是哪个类。

如何分解此代码?

我知道标题不好。如果有人帮我找一个更好的标题,请

为什么不使用简单的泛型实现?

代码片段在这里:

using CsvHelper;
using CsvHelper.Configuration;
class WriterRecord<T, TMap>
where T: class
where TMap: ClassMap<T>
{
private ImmutableArray<T> Records;
public string ToCsv<T>()
{
using var writer = new StringWriter();
using var csv = new CsvWriter(writer, CultureInfo.InvariantCulture);
csv.Context.RegisterClassMap<TMap>();
csv.WriteRecords(Records);
writer.Flush();
return writer.ToString();
}
}

你可以在你的代码中使用这个类,比如

  • new WriterRecord<Record1, Record1Map>()
  • new WriterRecord<Record2, Record2Map>()

它对你有用吗?

相关内容

  • 没有找到相关文章

最新更新