public object Unpack(Type targetType)
        {
            var result = ValueConverter.ConvertValueToTargetType(targetType, MatchValue());

            _serializerInstanceStore.NotifyInstancesOnDeserializationEnding();
            return(result);
        }
        public T Unpack <T>()
        {
            var result = ValueConverter.ConvertValueToTargetType <T>(MatchValue());

            _serializerInstanceStore.NotifyInstancesOnDeserializationEnding();
            return(result);
        }
        private object Deserialize(ObjectProperties packItems)
        {
            object result = FormatterServices.GetUninitializedObject(_serializableTypeInfo.Type);

            //try to find a target for each packItem, if not found skip it
            foreach (var packItem in packItems)
            {
                FieldOrPropertyMemberInfo target;
                if (_packItemCandidates.TryGetValue(packItem.Key, out target))
                {
                    target.SetValueFor(result, ValueConverter.ConvertValueToTargetType(target.Type, packItem.Value));
                }
            }

            return(result);
        }
Beispiel #4
0
        public object Read(Type type, string key)
        {
            var jsonValue = _elements[key];

            return(ValueConverter.ConvertValueToTargetType(type, jsonValue));
        }
Beispiel #5
0
        public T Read <T>(string key)
        {
            var jsonValue = _elements[key];

            return(ValueConverter.ConvertValueToTargetType <T>(jsonValue));
        }