【发布时间】:2016-05-05 03:35:53
【问题描述】:
我能够使用此代码序列化对象列表 (List):
public static string Serialize(object obj)
{
using (MemoryStream memoryStream = new MemoryStream())
using (StreamReader reader = new StreamReader(memoryStream))
{
DataContractSerializer serializer = new DataContractSerializer(obj.GetType());
serializer.WriteObject(memoryStream, obj);
memoryStream.Position = 0;
return reader.ReadToEnd();
}
}
但是,我无法使用此代码进行反序列化:
public static object Deserialize(string xml, Type toType)
{
using (Stream stream = new MemoryStream())
{
byte[] data = System.Text.Encoding.UTF8.GetBytes(xml);
stream.Write(data, 0, data.Length);
stream.Position = 0;
DataContractSerializer deserializer = new DataContractSerializer(toType);
return deserializer.ReadObject(stream);
}
}
我无法理解问题所在。 我通过调用它来使用最后一种方法:
Deserialize(SerializedObject, List),但我收到一条错误消息,提示 List<FilesToProcess> is a type, which is not valid in the given context
有人可以帮忙吗?我对此有点过头了。
【问题讨论】:
标签: c# xml wcf serialization