Анонимные разработчики свойств

Почему у анонимных типов нет свойств?

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

Ответы

Ответ 1

Анонимные типы неизменяемы по дизайну.

Анонимные типы предназначены для хранения значений, а тип, который представляет значение, не должен изменяться.

Кроме того, это сделает их ненадежными в словаре, поскольку хэш-код может измениться после создания.
Многие методы LINQ используют словари, и, особенно с задержкой оценки, LINQ с изменяемыми типами может привести к тонким загадочным ошибкам.