Пример #1
0
        protected virtual void DeserializeNestedObject <T>(NestedMapping nestedMapping, T instance, TDeserializeState state)
        {
            if (IsObjectNull(state))
            {
                nestedMapping.SetValue(instance, null);
                return;
            }

            if (nestedMapping.IsDynamicType)
            {
                var dynamicInstance = DeserializeDynamicTypeData(state);
                nestedMapping.SetValue(instance, dynamicInstance);
                return;
            }

            var childInstance = TypeCreator.Instantiate(nestedMapping.Type);

            nestedMapping.SetValue(instance, childInstance);
            Deserialize(nestedMapping.InternalMappings, childInstance, state);
        }