estoy usando Json.NET Primer vistazo a esto:Serializar XNA rectángulo con Json.NET
using System.Drawing;
string json = JsonConvert.SerializeObject(new Rectangle(-3,6,32,32), Formatting.Indented);
Console.WriteLine(json);
Rectangle deserializedRectangle = JsonConvert.DeserializeObject<Rectangle>(json);
Todo funciona como se esperaba. La salida de la consola es: "3, 6, 32, 32"
Pero cuando quiero hacer lo mismo con the XNA Rectangle, aparece un error. (Justo sustituido a la antigua utilizando con este "usando Microsoft.Xna.Framework;")
La salida de la consola es: "{X: -3 Y: 6 Anchura: 32 Altura: 32}"
y la el error que arroja es: "Error al convertir el valor" {X: -3 Y: 6 Ancho: 32 Altura: 32} "escribir" Microsoft.Xna.Framework.Rectangle '. "
¿Por qué ocurre esto?
¿Qué está mal y cómo soluciono esto?
Intenta construir Json.NET de la fuente por lo puede ver la excepción lanzada en el depurador.La respuesta al n. ° 1: parece bastante claro que está convirtiendo 'Rectangle' utilizando su método' ToString', en lugar de extraer los valores individuales de los miembros, y no hay ningún método para convertirlo. Podría adivinar que Json.NET usa las propiedades públicas get/set (como 'System.Drawing.Rectangle') y que no" ve "' public * fields * de Microsoft.Xna.Framework.Rectangle'. –