2
当我尝试将C#中的对象序列化为XML时,出现问题。 我想通了出口该类时出错:序列化C#中的通用类
[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());
}
}
类是通用的,因为下一步就是要改变在创建类的数据表,它包含一个列表。 类CountryData,Manufacturer和ProgramData实现接口IDeliveryTimeData。
我得到下面的描述中System.InvalidOperationException: BEIM Generieren DES XML-Dokuments IST EIN Fehler aufgetreten(< - 德语) 这大致翻译器有一代的XML文档的过程中是一个错误。 我不知道它为什么不是序列化,但我期望这个问题与该类是通用的有关。
有没有人知道我做错了什么?
你设置你的界面IDeliveryTimeData为可序列化呢? – gimpycpu 2014-09-01 08:51:49
这是不可能的,因为它看起来:错误属性'可序列化'在此声明类型无效。它只对'class,struct,enum,delegate'声明有效。 – Bongo 2014-09-01 08:54:43
嗯,这代码编译,你也应该这么做,如果你这样做正确 A级:IDeliveryTimeData {} 接口IDeliveryTimeData:ISerializable的 {} 阿 – gimpycpu 2014-09-01 08:57:51