【发布时间】:2019-12-30 16:12:02
【问题描述】:
我正在开发一个 C# Windows 窗体应用程序项目,我需要使用 JSON 序列化 PictureBox 并将其保存到文件中。由于某种原因,JSON 在尝试序列化 PictureBox 时给了我一个错误:
“Newtonsoft.Json.JsonSerializationException:'检测到类型为'System.Windows.Forms.PictureBox'的属性'Owner'的自引用循环。路径'AccessibilityObject'。'”
我尝试创建一个新项目并在 PictureBox 上使用序列化,它工作正常。什么可能会导致我正在从事的当前项目出现错误?
string dataToSave = JsonConvert.SerializeObject(bagPicture1);
【问题讨论】:
-
您是否忽略了“引用循环处理”?
JsonConvert.SerializeObject(bagPicture1, new JsonSerializerSetting(){ ReferenceLoopHandling = ReferenceLoopHandling.Ignore }) -
@Cotur 我仍然收到无法序列化光标的错误。
Custom cursors cannot be converted to string也许 PictureBox 的 SerializeObject 在设计时模式下是可能的? -
不要序列化windows控件,只序列化控件的内容(在本例中为
Image)。您是否还需要保留其他属性,例如大小/位置等?
标签: c# winforms picturebox