Tengo algunas clases de contenedor que exponen sus colecciones a través de ReadOnlyCollection. Se proporcionan métodos personalizados para agregar y eliminar de la colección que también realizan alguna lógica personalizada.Xml Serialización de ReadOnlyCollections
Por ejemplo:
public class Foo
{
List<Bar> _barList = new List<Bar>();
public ReadOnlyCollection<Bar> BarList
{
get { return _barList.AsReadOnly(); }
}
public void AddBar(Bar bar)
{
if (bar.Value > 10)
_barList.Add(bar);
else
MessageBox.Show("Cannot add to Foo. The value of Bar is too high");
}
public void RemoveBar(Bar bar)
{
_barList.Remove(bar);
// Foo.DoSomeOtherStuff();
}
}
public class Bar
{
public string Name { get; set; }
public int Value { get; set; }
}
Esto es todo muy bien, pero cuando llego a serializar Foo con el serializador XML se genera una excepción.
¿Alguien puede ofrecer una buena manera de solucionar esto?
Gracias
¿Cuál es la excepción? –
Lanza una InvalidOperationException debido a un error al reflejar Foo. –