Tengo una gran cantidad de objetos serializados guardados como XML, pero me gustaría agregar 2 variables a estos objetos.¿Cómo cambiar un objeto serializado?
Aquí es mi objetivo:
public class MyObject{
public Int32 MyVariables = 0;
}
Este objeto ha sido serializado un poco, y quiero mantener la capacidad de leer estos archivos "mayores" en mi aplicación.
Pero tengo que añadir unas cuantas más variables para que el objeto mejor, como por ejemplo:
public class MyObject{
public Int32 MyVariables = 0;
public Dictionary<string,MyEnum> MyDict = new Dictionary<string,MyEnum>();
}
¿Puede alguien sugerir el mejor método para agregar estas nuevas variables? De hecho, cambié MyObject y agregué el diccionario y creo que ya no se lee correctamente.
¡Gracias de antemano!
Editar: Yo también soy capaz de capturar una excepción en cualquier lugar para ver donde se produce un error durante la lectura en el objeto, que estoy haciendo esto para hacerlo:
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
object obj = formatter.Deserialize(File.Open(Path, FileMode.Open));
Edición 2: Creo que esto en realidad puede ser debido a que use un Enum como parte del diccionario, agregué [Serializable]
arriba de la enumeración y todavía no funciona - ¿pensamientos?
Pensé que esto funcionaría (de hecho, si solo hago que el tipo sea un diccionario int, ¿no es un diccionario serializable por defecto?) – Geesu
No puede serializar un diccionario con XML Serializer. Sin embargo, hay soluciones temporales. Intentaré desenterrar un enlace. –
Aquí hay un enfoque para usar Dictionary with XML Serializer ... http://johnwsaunders3.wordpress.com/2009/03/10/one-way-to-serialize-dictionaries/ –