WCF服务重置Dictionary的区分大小写的属性

时间:2011-11-27 10:04:54

标签: wcf dictionary case-sensitive containskey

我有一本词典。 最重要的是,这个字典将使用其Containskey()方法作为区分大小写,这就是为什么我使用构造函数使其不区分大小写:

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

我将它发送到WCF服务方法填写并返回。 它工作正常,但区分大小写的属性重置为区分大小写,我无法将其设置回,因为它只在创建时设置。

我总是可以使用数组从WCF获取数据,然后填充字典,我总是可以将结果字典复制到另一个不区分大小写的字典,但是如何克服属性重置问题?

1 个答案:

答案 0 :(得分:4)

你做不到。与字典关联的比较器不是数据序列化和反序列化的一部分。

然而,您可以通过Dictionary(IDictionary dictionary, IEqualityComparer comparer)构造函数重载轻松地使用相同的项目和相应的比较器重新创建字典。