【发布时间】:2020-05-14 18:34:03
【问题描述】:
我有一些在泛型方法中使用的嵌套类,定义如下;
基类:
public class Model
{
public int Id {get; set; }
public string Name {get; set; }
}
第 1 类:
public class Foo: Model
{
public string Description {get; set; }
[Name("Parent")]
[HeaderPrefix("z_Parent")]
public Foo ParentFoo {get; set; }
}
第 2 类:
public class Bar: Model
{
public Foo MyFoo {get; set; }
}
当我将 Foo 的实例导出到 CSV 时,我会从我传入的“Foo”实例以及“ParentFoo”的所有字段中获取字段。理想情况下,我只想拥有 ParentFoo.Name。同样,当我导出“Bar”的实例时,我希望字段“MyFoo”实际导出“MyFoo.Name”作为值。
我已经尝试过使用配置选项,我所能想到的就是将类设置为忽略引用,这在不包括所有父字段的情况下起作用,但也包括对父项的引用也不见了;
var csv = new CsvWriter(writeFile, CultureInfo.InvariantCulture);
csv.Configuration.IgnoreReferences = true;
csv.WriteRecords(Items);
有没有办法实现这一点,还是我应该考虑编写自己的 CSV 导出器?
TIA
【问题讨论】:
标签: c# csv reflection csvhelper