我知道使用属性相对于字段的优点,例如能够在将来需要时提供额外的逻辑。
但我真的想知道为什么不能使用公共字段进行数据绑定,甚至不能使用 JavaScriptSerializer 类等 JSON 序列化器。
在这些情况下有什么充分的理由忽略公共字段吗?或者这只是某种约定?或者只是为了强制用户使用属性?
简短的版本是始终使用属性而不是public
(或者,实际上,甚至protected
) 字段从一开始就是 .NET 中的基本设计选择。
稍长的版本是添加了对public
字段会增加数据绑定框架的复杂性(无论您指的是哪一个)。字段还缺乏对更改通知的任何类型的支持,这是数据绑定的一个相当重要的方面(至少在像 Winforms 开发这样的有状态环境中)。即使在检索和设置值的级别,字段和属性也是不同的;虽然 VB.NET 或 C# 中用于检索或设置属性值的语法(按照设计)与字段的语法相同,但在数据绑定等编程场景中用于执行此操作的机制对于属性与属性而言是不同的。字段。
最后,这一切都意味着需要更多的工作来向任何数据绑定场景添加对公共字段的支持,因此由于它是一种反模式,无论如何这项工作都没有完成。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)