【发布时间】:2011-12-26 06:17:14
【问题描述】:
我在可观察集合的 xml 序列化中遇到问题。
这是我要序列化的内容:
public enum Status { Pending, Active, Completed, Cancelled }
public abstract class Entity : INotifyPropertyChanged
{
...
}
public class UserStory : Entity
{
public uint StoryID { get; set; }
public Status Status { get; set; }
...
public ObservableCollection<Task> Tasks { get; set; }
}
public class Task : Entity
{
public uint TaskID { get; set; }
...
}
我是这样序列化它的:
public static void SerializeObjectToXML<T>(T item, string FilePath)
{
XmlSerializer xs = new XmlSerializer(typeof(T));
using (StreamWriter wr = new StreamWriter(FilePath))
{
xs.Serialize(wr, item);
}
}
public class Main()
{
ObservableCollection<UserStory> UserStories { get; set; }
void Main()
{
...
ObservableCollection<object> Document = new ObservableCollection<object>();
Document.Add(UserStories);
SerializeObjectToXML<ObservableCollection<object>>(Document , "...");
...
}
}
但xs.Serialize(wr, item); 行中出现错误:
InvalidOperation 异常:生成 XML 文档时出错。 内部异常:类型 ScrumPresentor.ObservableCollection`1[[ScrumPresentor.UserStory, ScrumPresentor,版本=1.0.0.0,文化=中立, PublicKeyToken=null]] 不能在这种情况下使用。
我正在使用 Visual Studio 2010,.NET 4.0 中的 WPF 应用程序。
【问题讨论】:
标签: c# .net-4.0 observablecollection xmlserializer