Estoy serializando un diccionario a XML. Cuando se crea un nuevo diccionario que uso el constructor para proporcionar EqualityComparer sin carcasa, por ejemploDiccionario de serialización <cadena, objeto> cuando se inicializó el diccionario con el comparador de cadena insensible a mayúsculas o minúsculas
var tabs = new Dictionary<string,Tab>(StringComparer.OrdinalIgnoreCase);
entonces serializar a XML y cuando Deserialize información acerca de carcasa está perdido - la deserialización se hace al diccionario con GenericEqualityComparer, que aparentemente es sensible a las mayúsculas y minúsculas, porque no encuentra mis llaves si no están correctamente colocadas.
¿Alguna idea de cómo puedo cambiarla?
Una forma sería crear un nuevo diccionario y copiar los datos del deserializado al nuevo, pero esto parece problemático.
ACTUALIZACIÓN:
La deserialización trabajaron todo el tiempo, es sólo que deserializa el Diccionario serializado a uno que no use las teclas de mayúsculas y minúsculas.
¿Se produce este problema cuando se utiliza DataContract? –
sí, la clase que contiene una propiedad de tipo Diccionario está marcada como DataContract y esta propiedad está marcada como DataMbember, si eso es lo que quería saber –
mare
Sí, lo era, pero ahora que se dio cuenta de que funciona en .NET 4.0, no hay nada que pueda seguir. Felicitaciones por resolver su propio problema. –