Служба WCF сбрасывает регистрозависимое свойство словаря - PullRequest
1 голос
/ 27 ноября 2011

у меня есть словарь.очень важно, чтобы этот словарь использовал свой метод Containskey () как не с учетом регистра, поэтому я использую конструктор, чтобы сделать его без учета регистра:

 Dictionary<string, string> wishProductNames = new Dictionary<string, string>(StringComparer.CurrentCultureIgnoreCase);
            DBService.GetNameAndPhrases(ref wishProductNames);

я отправляю егоМетод обслуживания WCF, который необходимо заполнить и вернуть.все работает нормально, но свойство с учетом регистра сбрасывается обратно, чтобы быть чувствительным к регистру, и я не могу установить его обратно, потому что оно устанавливается только при создании.

Я всегда могу использовать массивы для получения данных из WCFа затем заполните словарь, и я всегда могу скопировать словарь результатов в другой, который не зависит от регистра, но как мне преодолеть проблему сброса свойства?

1 Ответ

4 голосов
/ 27 ноября 2011

Вы не можете.Компаратор, связанный со словарем, не является частью сериализации и десериализации данных.

Однако вы можете легко воссоздать словарь с теми же элементами и соответствующим компаратором с помощью словаря (словарь IDictionary, компаратор IEqualityComparer) перегрузка конструктора.

...