5
我在觀察集合的xml序列化中遇到問題。XMLSerialize一個ObservableCollection
這裏就是我連載:
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,文化=中性 公鑰=空]]可能無法在此上下文中使用。
我在.NET 4.0中使用Visual Studio 2010,WPF應用程序。
謝謝,但我身邊,與其把'的ObservableCollection'的'的ObservableCollection 工作'我創建了一個包含'ObservableCollection '的類。但是你的代碼真的有用。不管怎麼說,多謝拉。我確實想投你的答案,但我不能,因爲我至少需要15名代表。 –
2011-12-26 09:22:02
您可以提供您爲創建可觀察集合而創建的這個類的代碼片段。我面臨同樣的問題 – 2013-07-17 05:51:51