gpt4 book ai didi

c# - Newtonsoft Json 和 System.ObjectDisposedException 与 Xamarin 方法

转载 作者:行者123 更新时间:2023-11-29 02:26:22 25 4
gpt4 key购买 nike

我有一个对象列表,我将其另存为 json 文件,如下所示:

List<Sede> listSede;
string json = JsonConvert.SerializeObject(listSede);
System.IO.File.WriteAllText(pathToJson+"\filiali.json",json);

然后我用这个阅读它们:

StreamReader r = new StreamReader (pathToJson + fileName);  
string jsonread = r.ReadToEnd();
List<Sede> items = new List<Sede> ();
items = JsonConvert.DeserializeObject<List<Sede>>(jsonread);

Sede 类继承自 MKAnnotation,在我为每个对象获取项目中的对象列表后,我尝试向 map 添加注释,如下所示:

foreach (Sede c in items)
map.AddAnnotation (c);

但它没有添加任何注释,如果我尝试检查元素 c 我看到有一些字段未初始化并且有 objectDisposedException,这是图像:enter image description here

最佳答案

MKAnnotation 不可序列化,因此当您反序列化时,继承自它的类不会被完全膨胀。

您可以尝试编写自己的 JsonConverter 来正确处理 Sede,或者您可以这样做:

foreach (Sede c in items) {

// add a constructor to Sede that properly creates a new object based on a partially inflated one
Sede cc = new Sede(c);

map.AddAnnotation (cc);
}

关于c# - Newtonsoft Json 和 System.ObjectDisposedException 与 Xamarin 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27485466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com