匿名类型属性设置器

时间:2010-02-24 18:59:57

标签: c# .net-3.5 anonymous-types

为什么匿名类型没有属性设置器?

var a = new { Text = "Hello" };
a.Text = "World"; //error

1 个答案:

答案 0 :(得分:31)

匿名类型在设计上是不可变的。

匿名类型用于保存值,表示值的类型不应该是可变的。

此外,它会使它们在字典中不可靠,因为哈希码在创建后可能会发生变化 许多LINQ方法使用Dictionaries,特别是在延迟评估的情况下,具有可变类型的LINQ可能会导致微妙的神秘错误。

相关问题