gpt4 book ai didi

c# - 如何序列化 IList 等接口(interface)

转载 作者:可可西里 更新时间:2023-11-01 08:08:00 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
How to serialize an IList<T>?

我希望序列化一个包含 S 类型属性的类(我们称之为 IList<T>)其中 T是我定义的另一个类。当我尝试序列化类 S 的实例时出现异常到 XML。这可以理解为 XmlSerializer不知道要使用哪个具体类。有没有一种方法,希望使用属性,来指定在序列化/反序列化实例时实例化哪个具体类。我的类(class)实现 S创建 List<T> 的实例类(class)。下面是一些代码来说明我的示例:

using System;
using System.Xml.Serialization;
using System.IO;

[Serializable]
public class T { }

[Serializable]
public class S
{
public IList<T> ListOfTs { get; set; }

public S()
{
ListOfTs = new List<T>();
}
}

public class Program
{
public void Main()
{
S s = new S();
s.ListOfTs.Add(new T());
s.ListOfTs.Add(new T());
XmlSerializer serializer = new XmlSerializer(typeof(S));
serializer.Serialize(new StringWriter(), s);
}
}

我希望我可以在 ListOfTs 上方放置一个属性对序列化的定义,“在序列化/反序列化时假设一个 List<T> 的实例”。

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