据我所知,在反序列化数据时,WCF不会调用类的默认构造函数。 但是另一方面,类的所有变量初始值设定项都是在调用任何基类构造函数之前直接隐式运行的。
所以说例如
[DataContract]
public class Foo()
{
Regex x = new Regex("abc");
[DataMember]
public int whatever {get; set;}
}
反序列化Foo对象时,正则x将为null,因此WCF也不调用基类构造函数?
我知道deserialze是3步过程[OnDeserializing] - >反序列化 - > [OnDeserialized]
我的问题是WCF调用什么来构造一个对象?