public object DeserializeFromXElement(XElement xElement)
        {
            Type   expectedType         = this._type;
            Type   actuallyExpectedType = DataContractSerializer_KnownTypes.GetCSharpTypeForNode(xElement, this._type, expectedType, _knownTypes, null, _useXmlSerializerFormat);
            object result = DataContractSerializer_Deserialization.DeserializeToCSharpObject(xElement.Nodes(), actuallyExpectedType, xElement, _knownTypes, ignoreErrors: false, useXmlSerializerFormat: _useXmlSerializerFormat);

            return(result);
        }
        public object DeserializeFromString(string xml)
        {
            XDocument xdoc                 = XDocument.Parse(xml);
            XElement  root                 = xdoc.Root;
            Type      expectedType         = this._type;
            Type      actuallyExpectedType = DataContractSerializer_KnownTypes.GetCSharpTypeForNode(root, this._type, expectedType, _knownTypes, null, _useXmlSerializerFormat);
            object    result               = DataContractSerializer_Deserialization.DeserializeToCSharpObject(root.Nodes(), actuallyExpectedType, root, _knownTypes, ignoreErrors: false, useXmlSerializerFormat: _useXmlSerializerFormat);

            return(result);
        }