为什么要访问匿名类型中的值,编译器会创建一个getter方法?直接访问只读后备字段会更容易吗?
因为匿名类型的属性在构造后是只读的。创建对象后便无法更改它们。
他们可以使用仅获取属性来实现此目的,但不能使用公共字段(您可以随时更改字段)来实现。
编辑:我环顾四周,但找不到明显的原因,为什么他们不使用公共只读字段。但是,我最好的猜测是:这样就可以拥有properties。
如果他们公开了公共字段,并且没有任何属性,则不可避免地,匿名类型将无法用于寻找公共属性的事物,例如WPF绑定。因此,拥有具有私有只读后备字段的属性可能是更安全的选择。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句