c# – 如果没有setter,则无法反序列化类型
发布时间:2020-12-15 21:04:00 所属栏目:百科 来源:网络整理
导读:我在数据库中有二进制序列化对象.它们与protobuf序列化. 现在我需要生成一些查看器来查看数据库的内容. 所以,我从数据库中读取流并将其反序列化回对象. 它工作,结果是对象列表: var dbData = readData(someType);//it is IList collection 现在,我想将这个
我在数据库中有二进制序列化对象.它们与protobuf序列化.
现在我需要生成一些查看器来查看数据库的内容. 所以,我从数据库中读取流并将其反序列化回对象. 它工作,结果是对象列表: var dbData = readData(someType);//it is IList collection 现在,我想将这个对象列表保存到文件中以查看数据库的内容.我认为将它保存到xml是最好的.所以,我尝试过: var serializer = new XmlSerializer(dbData.GetType()); 但我得到一个错误:无法反序列化类型’My.Entities.IdBase’,因为它包含没有公共设置器的属性’Key’. 现在怎么办?我无法将类定义更改为具有setter. 解决方法
JSON.NET就是这里的答案.你可以在nuget找到它.像这样使用它:
JsonConvert.DeserializeObject<T>(input); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |