WCF反序列化有一些神奇之处。它如何在不调用构造函数的情况下实例化数据协定类型的实例?
例如,考虑以下数据契约:
[DataContract]
public sealed class CreateMe
{
[DataMember] private readonly string _name;
[DataMember] private readonly int _age;
private readonly bool _wasConstructorCalled;
public CreateMe()
{
_wasConstructorCalled = true;
}
// ... other members here
}
通过DataContractSerializer
获取此对象的实例时,您将看到字段_wasConstructorCalled
为false
。
那么,WCF如何做到这一点呢?这是一种其他人也可以使用的技术,还是隐藏在我们面前?
https://stackoverflow.com/questions/178645
复制相似问题