在反序列化数据成员时是否可以指定WCF序列化引擎使用哪个构造函数?
例如:我想使用此构造函数创建不区分大小写的字典,而不创建从Dictionary继承的新类。
[DataMember]
Dictionary<string, string> Values { get; set; }
// Values should be created with this constructor
new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase);
答案 0 :(得分:3)
如果提供属性setter方法的实现,则可以自己实例化新的不区分大小写的Dictionary实例,该实例将是属性的值,并且只是将序列化程序提供的实例中的项目复制到其中。 value
参数。
如果序列化词典的来源区分大小写,您需要准备好处理因键冲突而导致的任何异常。
答案 1 :(得分:2)
在反序列化数据成员时是否可以指定WCF序列化引擎使用哪个构造函数?
不,不,除非您使用实现自定义序列化。