我知道使用属性比字段有优势,比如在未来需要时能够提供额外的逻辑。
但我真的很好奇为什么不能在数据绑定或像JavaScriptSerializer类这样的JSON序列化程序中使用公共字段。
在这些情况下忽略公共字段是否有好的理由?还是只是一种惯例?还是强制用户使用属性的原因?
我知道使用属性比字段有优势,比如在未来需要时能够提供额外的逻辑。
但我真的很好奇为什么不能在数据绑定或像JavaScriptSerializer类这样的JSON序列化程序中使用公共字段。
在这些情况下忽略公共字段是否有好的理由?还是只是一种惯例?还是强制用户使用属性的原因?
Expression
具有PropertyOrField
方法,该方法会根据其第一个参数返回的类型来选择其中之一。由于接口无法声明变量,因此您不应使用公共变量。所有变量都应该是私有的。
如果您的代码依赖于抽象,您需要使用接口,并且在此处不能使用公共变量。