2011-02-07 66 views
1

是否可以在反序列化数据成员时指定WCF序列化引擎使用哪个构造函数?覆盖WCF DataMember的字典构造函数

例如:我想使用此构造函数来创建不区分大小写的字典,而不创建从Dictionary继承的新类。

[DataMember] 
Dictionary<string, string> Values { get; set; } 

// Values should be created with this constructor 
new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase); 

回答

2

是否可以指定反序列化的数据成员时构造的WCF序列化引擎使用?

不,它不是,除非你使用你的自定义序列化实现。

+0

我很害怕这个。感谢您的确认。 – chilltemp 2011-02-07 22:31:15

3

如果您提供了您的属性setter方法的实现,您可以为自己实例化新的不区分大小写的Dictionary实例,该实例将是属性的值,并仅将其从序列化程序提供的实例中的项目作为value参数。

如果序列化字典的来源区分大小写,您需要做好准备处理由于键冲突而导致的任何异常。

+0

有趣的想法。这正是我克服一些其他序列化限制的原因。唯一烦人的部分是创建附加字典。 – chilltemp 2011-02-07 22:41:34