gpt4 book ai didi

C# 无法使用 List 作为属性序列化类

转载 作者:太空狗 更新时间:2023-10-29 22:55:17 24 4
gpt4 key购买 nike

嗨我正在尝试序列化

FileStream fileStream = new FileStream("batches.xml", FileMode.Open);
XmlSerializer serializer = new XmlSerializer(typeof(List<Batche>));
List<Batche> listOfBatches = new List<Batche>();

[Serializable]
[XmlRoot("Batch")]
public class Batche
{

[XmlElement("Title")]
public string Title
{
get;set;
}

[XmlArray("ListOfLinks"),XmlArrayItem("Link",Type = typeof(Link))]
public List<Link> Links
{
get;set;
}
}

[Serializable]
[XmlRoot("Link")]
public class Link
{
[XmlElement("Uri")]
public Uri Uri
{
get;
set;
}

[XmlElement("Status")]
public string Status
{
get;
set;
}

}

出现以下错误:反射(reflect)类型“System.Collections.Generic.List`1[DownloadTRON.Entities.Batche]”时出现错误。

自过去 4 小时以来一直在尝试此操作,任何人都可以指出我做错了什么!

问候干酪

最佳答案

你的代码或者泛型的序列化没有问题。 Uri 没有默认构造函数,无法序列化。考虑将其更改为字符串,一切都会起作用。如果您只打算使用 XmlSerializer,则可以删除 Serializable 属性,因为它未被使用。

当我用调试器运行你的代码并看到异常时,有一个内部异常,一个内部异常,一个内部异常,等等。尽可能跟着那只兔子下洞总是个好主意。

关于C# 无法使用 List<CustomObject> 作为属性序列化类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4768922/

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