estoy usando propiedades implementadas automáticamente. supongo que la forma más rápida para fijar siguiente es para declarar mi propia variable respaldo? MensajeNo se puede modificar el valor de retorno de error C#
public Point Origin { get; set; }
Origin.X = 10; // fails with CS1612
Error: No se puede modificar el valor de retorno de la 'expresión' porque no es una variable
Se hizo un intento de modificar un tipo de valor que fue el resultado de un intermedio expresión. Como el valor no se conserva, el valor no cambiará.
Para resolver este error, almacenar el resultado de la expresión en un valor intermedio, o bien utiliza un tipo de referencia para la expresión intermedio.
Esta es otra ilustración de por qué los tipos de valores mutables son una mala idea. Si puede evitar la mutación de un tipo de valor, hágalo. –
Tome el siguiente código (de mis esfuerzos en una implementación de AStar blogueado por un cierto EL :-), que no pudo evitar cambiar un tipo de valor: class Path: IEnumerable donde T: INode, new() {... } public HexNode (int x, int y): this (new Point (x, y)) {} Ruta path = new Ruta (nueva T (x, y)); // Error // Ugly fix Ruta path = new Ruta (nueva T()); path.LastStep.Centre = new Point (x, y); –