我在表单类中使用FieldQuoted属性。我注意到我不能把这个属性放在属性上。它只允许在成员/字段上使用它。是否有一个原因?这可以扩展到允许属性吗?
我问的原因是我在其他适合使用的地方使用这个类,但根本不是成员友好的(例如MVC模型绑定器)。
答案 0 :(得分:0)
根据Allow Properties instead of fields #67
是的,图书馆从2004年的字段开始,主要是因为如果你 支持属性,你必须确保可写,可以抛出 错误,可以减慢自定义代码的分配,也反映 of .net 1.1是令人难以置信的慢速和动态代码生成 字段很容易实现
后来为了向后兼容和懒惰,我不支持 属性,现在autoproperties更好地工作在这个PR的工作 #170
但我们必须努力并支持完整的属性并尝试 可能会对前面的代码产生一点影响,以避免出现奇怪的错误 新记录类
似乎已对Autoproperties full support #170进行了一些更改,但尚未包含在此版本中。它似乎只在主分支上可用。
我将合并这个,但后来我会改变它的工作方式 避免使用autoproperties和字段,也允许 属性一般,但你的实现使用 autoproperties是一项简单的任务
如果您对使用它感到不满意,我建议您为导入/导出创建一个单独的类来镜像现有的类,但使用字段,如Formatting properties with FileHelper所接受的答案所示。可能是现在最安全的赌注,直到他们被释放。