2010-02-24 14 views

Respuesta

29

Los tipos anónimos son inmutables por diseño.

Los tipos anónimos están destinados a contener valores, y un tipo que representa un valor no debe ser mutable.

Además, los haría poco fiables en un diccionario, ya que el código podría cambiar después de la creación.
Muchos métodos LINQ utilizan diccionarios, y, especialmente con la evaluación diferida, LINQ con tipos mutables puede conducir a sutiles errores misteriosos.

+0

Eso fue rápido :-) Thnx – Marko

+7

Tenga en cuenta que los tipos anónimos en VB pueden estar parcialmente mutados. En VB puedes indicar qué partes del tipo anónimo son mutables; el código generado no usará bits mutables como parte de un código hash/igualdad, por lo que no obtendrá el problema "perdido en el diccionario". Decidimos no implementar estas extensiones en C#. –

+0

No lo sabía; Gracias. – SLaks

Cuestiones relacionadas