【发布时间】:2009-07-06 22:01:51
【问题描述】:
在 C# 中,匿名类型的属性是只读的:
var person = new { Surname = "Smith", OtherNames = "John" };
person.Surname = "Johnson"; // ERROR: .Surname is read-only
当然,如果我想要可写的字段或属性,我可以声明一个真正的类,但无论如何,将属性设为只读的设计决策背后的原因是什么?
【问题讨论】:
-
安全,也许吧?如果你没有指定它们是可写的,不要让它们被写?此外,这些是属性,而不是字段。
-
好点,我会更改文本。我也想知道为什么它们不能是用“只读”声明的字段......