कुछ जादू WCF deserialization के साथ चल रहा है। यह अपने कॉन्ट्रैक्टर को कॉल किए बिना डेटा कॉन्ट्रैक्ट के प्रकार का एक उदाहरण तुरंत कैसे देता है?
उदाहरण के लिए, इस डेटा अनुबंध पर विचार करें:
[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 यह कैसे करता है? क्या यह एक ऐसी तकनीक है जिसका उपयोग दूसरे भी कर सकते हैं, या क्या यह हमसे दूर है?