尝试将C#中的对象序列化为XML时遇到问题。
我发现导出此类时出了错:
[XmlInclude(typeof(CountryData))]
[XmlInclude(typeof(ManufacturerData))]
[XmlInclude(typeof(ProgramData))]
[Serializable()]
public class DeliveryTimeList<T> where T : IDeliveryTimeData
{
private DataTable _data;
public DataTable Data
{
get { return _data; }
set { _data = value; }
}
public DeliveryTimeList()
{
_data = new DataTable();
}
public void Add(T data)
{
// Not in Use
//_data.Rows.Add(data.ItemArray());
}
}
该类是通用的,因为下一步是在创建类时更改DataTable,它将包含一个List。
类CountryData,Manufacturer和ProgramData实现接口IDeliveryTimeData。
我得到一个System.InvalidOperationException与以下描述:
Beim Generieren des XML-Dokuments ist ein Fehler aufgetreten(大致翻译者生成XML文档期间发生错误。
我不知道为什么它没有序列化,但是我希望这个问题与该类是通用的有关。
有人知道我在做什么错吗?
最佳答案
您不能直接序列化数据表,而需要序列化附加到的数据集
关于c# - 在C#中序列化通用类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25602067/