ile Dizgeleştirme XNA Dikdörtgen: beklendiği gibiBunda <a href="http://json.codeplex.com/" rel="nofollow">Json.NET</a> İlk göz kullanıyorum 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);
Her şey çalışır. Konsol çıkışı: "3, 6, 32, 32"
Ama aynı şeyi the XNA Rectangle ile yapmak istediğimde bir hata alıyorum. "{X: -3 Hasılat: 6 genişliği: 32 Yükseklik: 32}"
ve konsol çıkış
("kullanılarak Microsoft.Xna.Framework" sadece bununla kullanarak eski yerine) hatayı atar: "Microsoft.Xna.Framework.Rectangle" yazmak için "{X: -3 Y: 6 Genişlik: 32 Yükseklik: 32}" değeri dönüştürülürken hata oluştu. "
neden oluyor?
Neler yanlış gidiyor ve bunu nasıl düzeltirim?
Biraz araştırma yaptık
böylece kaynağından Json.NET bina deneyin çözümleyicinizi kullanmak Newtonsoft.JSON yapılandırmak Hata ayıklayıcısına atılan istisnayı görebilirsiniz.# 1'in cevabı: "Rectangle" in "ToString" yöntemini, tek tek üye değerlerini ayıklamak yerine dönüştürdüğü oldukça açıktır ve geri dönüştürmek için bir yöntem yoktur. Json.NET'in genel get/set özelliklerini (System.Drawing.Rectangle' gibi) kullandığını ve Microsoft.Xna.Framework.Rectangle'nun public * alanlarını * görmediğini tahmin edebilirim. –