【发布时间】:2012-02-05 02:07:11
【问题描述】:
我认为基本属性 ({ get; set; }) 与公共字段相同,只有能够在不破坏二进制兼容性的情况下更改它们的优点。按照我在这里得到的答案https://stackoverflow.com/a/8735303/331785,我发现属性也有一个缺点。如果它们是值类型,则不能通过引用访问它们。为什么会这样,还有什么其他区别?
【问题讨论】:
-
这是一个谬论。属性不能通过引用访问,句号。您犯了将引用传递与引用类型混淆的常见错误。
-
也就是说一个引用类型的引用默认是传值的。对于引用类型和值类型,始终使用
ref或out关键字进行引用传递。 -
@DipuRaj 我觉得这个问题并不完全重复,因为它询问为什么会发生上述行为,而该问题没有。
标签: c# properties