Beispiel #1
0
        void FirstDimensionDeresolve(XElement node, Array array, int[] indexator)
        {
            var length         = array.GetLength(0);
            var nodeEnumerator = node.Elements().GetEnumerator();

            while (nodeEnumerator.MoveNext() && indexator[0] < length)
            {
                array.SetValue(Serializator.AutoDeresolve(nodeEnumerator.Current), indexator);
                indexator[0]++;
            }
        }
        public override sealed void Deserialzie(XElement serialized, ref object instance)
        {
            var reflectionEnumerator = Fields.GetEnumerator();
            var serializedEnumerator = serialized.Elements().GetEnumerator();

            if (instance != null)
            {
                while (reflectionEnumerator.MoveNext() && serializedEnumerator.MoveNext())
                {
                    reflectionEnumerator.Current.SetValue(instance, Serializator.AutoDeresolve(serializedEnumerator.Current));
                }
            }
        }
        public override void Deserialzie(System.Xml.Linq.XElement serializedObject, ref object instance)
        {
            var serializationInfo = instance as SerializationInfo;

            var entryContainer = serializedObject.Element(XML_ELEMENTNAME_ENTRYSCONTAINER);

            var entryEnumerator = entryContainer.Elements().GetEnumerator();

            object current;

            while (entryEnumerator.MoveNext())
            {
                current = Serializator.AutoDeresolve(entryEnumerator.Current);
                serializationInfo.AddValue(entryEnumerator.Current.Attribute(XML_ATTRIBUTENAME_NAME).Value, current);
            }
        }