为什么使用匿名类型获取方法?

用户名

为什么要访问匿名类型中的值,编译器会创建一个getter方法?直接访问只读后备字段会更容易吗?

埃伦·埃索内兹(ErenErsönmez)

因为匿名类型的属性在构造后是只读的。创建对象后便无法更改它们。

他们可以使用仅获取属性来实现此目的,但不能使用公共字段(您可以随时更改字段)来实现。


编辑:我环顾四周,但找不到明显的原因,为什么他们不使用公共只读字段。但是,我最好的猜测是:这样就可以拥有properties

如果他们公开了公共字段,并且没有任何属性,则不可避免地,匿名类型将无法用于寻找公共属性的事物,例如WPF绑定。因此,拥有具有私有只读后备字段的属性可能是更安全的选择。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我有通用匿名方法不兼容的类型?

我对匿名方法类型使用什么通用约束?

为什么lambda不能使用这种匿名方法?

匿名类型的C#类型强制转换异常,为什么?

Scala语法:为什么使用括号和花括号对匿名函数参数类型的解析不同?

为什么匿名类型数组中不允许使用隐式属性名?

为什么对匿名子类使用Kotlin“ by”?

在Go中,如何使用匿名字段方法获取TypeOf类型?

为什么匿名结构会导致类型冲突

为什么Diamond不能推断匿名内部类的类型?

为什么匿名类型的AssemblyQualifiedName不总是相同?

为什么带有匿名结构字段的结构不满足在该类型的别名上定义的方法?

为什么我不能在匿名方法中的while循环中使用break?

为什么要使用不同类型的Assert方法?

操作数堆栈上的类型错误...使用jdk 8,带有匿名内部类的lambda失败,为什么?

从宏获取带有匿名类方法的结构类型

如何使用反射从动态(匿名类型)对象获取属性?

使用HierarchyId从C#匿名类型获取价值

为什么不能将匿名方法分配给var?

人们为什么很少使用Java中的匿名构造函数

为什么我不能在匿名类中使用<Class> .this?

为什么我不能在列表中使用匿名函数?

为什么需要使用setTimeout的匿名函数来保留“ this”

jQuery:为什么使用匿名函数作为参数?

为什么不能使用匿名函数返回颜色值?

Javascript:为什么使用匿名函数和返回语句

CRTP:为什么在获取派生类的嵌套类型和嵌套方法之间有区别?

进行“继承”-在结构中使用匿名类型作为方法参数

使用匿名类型时,模拟方法返回null