Dan*_*ens 13 c# interface list xml-serialization
可能重复:
如何序列化IList <T>?
我想序列化的类(我们称之为S)包含该类型的属性IList<T>那里T是我所定义的另一个类.当我尝试将类的实例序列化为SXML 时,我得到一个异常.这是可以理解的,因为XmlSerializer不知道使用哪个具体类.有没有办法(希望使用属性)指定在序列化/反序列化实例时要实例化的具体类.我的类实现S创建了一个类的实例List<T>.这是一些代码来说明我的例子:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
我希望有一个属性,我可以放在ListOfTs序列化的定义之上,"假设List<T>序列化/反序列化的实例".
Azh*_*any 14
改变
public IList<T> ListOfTs { get; set; }
Run Code Online (Sandbox Code Playgroud)
至
public List<T> ListOfTs { get; set; }
Run Code Online (Sandbox Code Playgroud)
然后它会工作.
| 归档时间: |
|
| 查看次数: |
16843 次 |
| 最近记录: |