Я сериализую словарь в XML. Когда я создаю новый словарь я использовать конструктор, чтобы обеспечить EqualityComparer без кожуха, напримерСериализационный словарь <string, object>, когда словарь был инициализирован с помощью нечувствительного к регистру строкового сравнения
var tabs = new Dictionary<string,Tab>(StringComparer.OrdinalIgnoreCase);
я сериализация в XML и когда я десериализация информации о корпусе теряется - десериализации сделана словарь с GenericEqualityComparer, который по-видимому, чувствителен к регистру, потому что он не находит мои ключи, если они не правильно установлены.
Любые идеи, как я могу его изменить?
Одним из способов было бы создать новый словарь и скопировать данные из десериализованного на новый, но это кажется неприятным.
UPDATE:
десериализация работал все время, это просто, что он десериализует сериализированный словарь одному, который не использует нечувствителен к регистру клавиша.
Возникает ли эта проблема при использовании DataContract? –
да, класс, который содержит свойство типа Dictionary, помечен как DataContract, и это свойство помечено как DataMbember, если это то, что вы хотели знать –
mare
Да, это было, но теперь, когда вы выяснили, что это работает в .NET 4.0, мне нечего отслеживать. Поздравляю с решением вашей собственной проблемы. –