如何解决在 C# 中,如何 XML 序列化具有字典作为参数的对象
我有这个类(Animal),我需要将其序列化为 XML 文件。
[Serializable]
public class Animal
{
private String noun;
private Dictionary<String,Prey> preyByHabitat = new Dictionary<String,Prey>();
public string Noun { get => noun; set => noun = value; }
public Dictionary<string,Prey> PreyByHabitat { get => preyByHabitat; set => preyByHabitat = value; }
public Animal()
{ }
}
[Serializable]
public class Prey
{
private String noun;
public string Noun { get => noun; set => noun = value; }
public Prey() { }
}
每次我尝试使用此方法对其进行序列化时:
public void SerializeToXML()
{
XmlSerializer serializer = new XmlSerializer(typeof(Animal));
TextWriter textWriter = new StreamWriter(path + @"\Animal.xml");
serializer.Serialize(textWriter,this);
textWriter.Close();
}
我收到一个 NotSupportedException
,表示它无法序列化 Animal
,因为它的一个成员(字典)实现了 IDictionary
。
为了快速测试,我删除了字典,但没有出现错误。
有人可以帮忙吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。