【发布时间】:2013-12-05 19:55:56
【问题描述】:
我正在使用CsvHelper,但我希望能够序列化字段而不仅仅是属性。有没有办法做到这一点?
请注意,这很难搜索,因为文档使用“字段”一词来表示类属性,但我说的是实际的类字段,即该类中的MyIntField:
class Something
{
public int MyIntProperty {get; set;}
public int MyIntField;
}
【问题讨论】:
我正在使用CsvHelper,但我希望能够序列化字段而不仅仅是属性。有没有办法做到这一点?
请注意,这很难搜索,因为文档使用“字段”一词来表示类属性,但我说的是实际的类字段,即该类中的MyIntField:
class Something
{
public int MyIntProperty {get; set;}
public int MyIntField;
}
【问题讨论】:
不,目前不可能。您收到一条错误消息
'MyIntField' is not a property. Did you try to map a field by accident?
【讨论】:
CsvHelper 看不到它们。我可以轻松地返回并将它们全部设为属性,但这有点乏味,特别是因为我没有遇到编译器错误,只有运行时错误。
{ get; set; } 添加到每个字段的末尾即可使其成为属性。如果您想要一个配置选项让它也查看字段,请向 github 项目添加一个问题。它不存在的原因是使用属性而不是字段是一种很好的做法。通常,人们不希望他们的字段被使用。