Tengo un problema en la serialización xml de la colección observable.XMLSerialize un ObservableCollection
Aquí es lo que estoy serializar:
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; }
...
}
Aquí es cómo serializarlo:
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 , "...");
...
}
}
Pero ocurre un error en la línea xs.Serialize(wr, item);
diciendo:
InvalidOperation Excepción: Hubo un error al generar el documento XML. excepción interna: El tipo ScrumPresentor.ObservableCollection`1 [[ScrumPresentor.UserStory, ScrumPresentor, versión = 1.0.0.0, Culture = neutral, PublicKeyToken = null]] no se puede utilizar en este contexto.
Estoy usando Visual Studio 2010, aplicación WPF en .NET 4.0.
Gracias, pero hacer un trabajo en torno a que en lugar de poner el 'ObservableCollection' en 'ObservableCollection ', Creo una clase que contiene 'ObservableCollection '. Pero tu código realmente funciona. Gracias de todos modos. Quiero votar su respuesta pero no puedo, ya que al menos necesito 15 representantes. –
¿Puede proporcionar la pieza de código para esta clase que ha creado para colocar la colección observable? Estoy enfrentando el mismo problema –