2011-02-07 12 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