Ejemplo n.º 1
0
        private static void ApplySerializerSettings(JsonSerializer serializer, JsonSerializerSettings settings)
        {
            if (!CollectionUtils.IsNullOrEmpty(settings.Converters))
            {
                // insert settings converters at the beginning so they take precedence
                // if user wants to remove one of the default converters they will have to do it manually
                for (int i = 0; i < settings.Converters.Count; i++)
                {
                    serializer.Converters.Insert(i, settings.Converters[i]);
                }
            }

            // serializer specific
            if (settings._typeNameHandling != null)
            {
                serializer.TypeNameHandling = settings.TypeNameHandling;
            }
            if (settings._metadataPropertyHandling != null)
            {
                serializer.MetadataPropertyHandling = settings.MetadataPropertyHandling;
            }
            if (settings._typeNameAssemblyFormatHandling != null)
            {
                serializer.TypeNameAssemblyFormatHandling = settings.TypeNameAssemblyFormatHandling;
            }
            if (settings._preserveReferencesHandling != null)
            {
                serializer.PreserveReferencesHandling = settings.PreserveReferencesHandling;
            }
            if (settings._referenceLoopHandling != null)
            {
                serializer.ReferenceLoopHandling = settings.ReferenceLoopHandling;
            }
            if (settings._missingMemberHandling != null)
            {
                serializer.MissingMemberHandling = settings.MissingMemberHandling;
            }
            if (settings._objectCreationHandling != null)
            {
                serializer.ObjectCreationHandling = settings.ObjectCreationHandling;
            }
            if (settings._nullValueHandling != null)
            {
                serializer.NullValueHandling = settings.NullValueHandling;
            }
            if (settings._defaultValueHandling != null)
            {
                serializer.DefaultValueHandling = settings.DefaultValueHandling;
            }
            if (settings._constructorHandling != null)
            {
                serializer.ConstructorHandling = settings.ConstructorHandling;
            }
            if (settings._context != null)
            {
                serializer.Context = settings.Context;
            }
            if (settings._checkAdditionalContent != null)
            {
                serializer._checkAdditionalContent = settings._checkAdditionalContent;
            }

            if (settings.Error != null)
            {
                serializer.Error += settings.Error;
            }

            if (settings.ContractResolver != null)
            {
                serializer.ContractResolver = settings.ContractResolver;
            }
            if (settings.ReferenceResolverProvider != null)
            {
                serializer.ReferenceResolver = settings.ReferenceResolverProvider();
            }
            if (settings.TraceWriter != null)
            {
                serializer.TraceWriter = settings.TraceWriter;
            }
            if (settings.EqualityComparer != null)
            {
                serializer.EqualityComparer = settings.EqualityComparer;
            }
            if (settings.SerializationBinder != null)
            {
                serializer.SerializationBinder = settings.SerializationBinder;
            }

            // reader/writer specific
            // unset values won't override reader/writer set values
            if (settings._formatting != null)
            {
                serializer._formatting = settings._formatting;
            }
            if (settings._dateFormatHandling != null)
            {
                serializer._dateFormatHandling = settings._dateFormatHandling;
            }
            if (settings._dateTimeZoneHandling != null)
            {
                serializer._dateTimeZoneHandling = settings._dateTimeZoneHandling;
            }
            if (settings._dateParseHandling != null)
            {
                serializer._dateParseHandling = settings._dateParseHandling;
            }
            if (settings._dateFormatStringSet)
            {
                serializer._dateFormatString    = settings._dateFormatString;
                serializer._dateFormatStringSet = settings._dateFormatStringSet;
            }
            if (settings._floatFormatHandling != null)
            {
                serializer._floatFormatHandling = settings._floatFormatHandling;
            }
            if (settings._floatParseHandling != null)
            {
                serializer._floatParseHandling = settings._floatParseHandling;
            }
            if (settings._stringEscapeHandling != null)
            {
                serializer._stringEscapeHandling = settings._stringEscapeHandling;
            }
            if (settings._culture != null)
            {
                serializer._culture = settings._culture;
            }
            if (settings._maxDepthSet)
            {
                serializer._maxDepth    = settings._maxDepth;
                serializer._maxDepthSet = settings._maxDepthSet;
            }
        }
Ejemplo n.º 2
0
 // Token: 0x06000C7F RID: 3199 RVA: 0x000502DC File Offset: 0x0004E4DC
 private static void ApplySerializerSettings(JsonSerializer serializer, JsonSerializerSettings settings)
 {
     if (!CollectionUtils.IsNullOrEmpty <JsonConverter>(settings.Converters))
     {
         for (int i = 0; i < settings.Converters.Count; i++)
         {
             serializer.Converters.Insert(i, settings.Converters[i]);
         }
     }
     if (settings._typeNameHandling != null)
     {
         serializer.TypeNameHandling = settings.TypeNameHandling;
     }
     if (settings._metadataPropertyHandling != null)
     {
         serializer.MetadataPropertyHandling = settings.MetadataPropertyHandling;
     }
     if (settings._typeNameAssemblyFormatHandling != null)
     {
         serializer.TypeNameAssemblyFormatHandling = settings.TypeNameAssemblyFormatHandling;
     }
     if (settings._preserveReferencesHandling != null)
     {
         serializer.PreserveReferencesHandling = settings.PreserveReferencesHandling;
     }
     if (settings._referenceLoopHandling != null)
     {
         serializer.ReferenceLoopHandling = settings.ReferenceLoopHandling;
     }
     if (settings._missingMemberHandling != null)
     {
         serializer.MissingMemberHandling = settings.MissingMemberHandling;
     }
     if (settings._objectCreationHandling != null)
     {
         serializer.ObjectCreationHandling = settings.ObjectCreationHandling;
     }
     if (settings._nullValueHandling != null)
     {
         serializer.NullValueHandling = settings.NullValueHandling;
     }
     if (settings._defaultValueHandling != null)
     {
         serializer.DefaultValueHandling = settings.DefaultValueHandling;
     }
     if (settings._constructorHandling != null)
     {
         serializer.ConstructorHandling = settings.ConstructorHandling;
     }
     if (settings._context != null)
     {
         serializer.Context = settings.Context;
     }
     if (settings._checkAdditionalContent != null)
     {
         serializer._checkAdditionalContent = settings._checkAdditionalContent;
     }
     if (settings.Error != null)
     {
         serializer.Error += settings.Error;
     }
     if (settings.ContractResolver != null)
     {
         serializer.ContractResolver = settings.ContractResolver;
     }
     if (settings.ReferenceResolverProvider != null)
     {
         serializer.ReferenceResolver = settings.ReferenceResolverProvider();
     }
     if (settings.TraceWriter != null)
     {
         serializer.TraceWriter = settings.TraceWriter;
     }
     if (settings.EqualityComparer != null)
     {
         serializer.EqualityComparer = settings.EqualityComparer;
     }
     if (settings.SerializationBinder != null)
     {
         serializer.SerializationBinder = settings.SerializationBinder;
     }
     if (settings._formatting != null)
     {
         serializer._formatting = settings._formatting;
     }
     if (settings._dateFormatHandling != null)
     {
         serializer._dateFormatHandling = settings._dateFormatHandling;
     }
     if (settings._dateTimeZoneHandling != null)
     {
         serializer._dateTimeZoneHandling = settings._dateTimeZoneHandling;
     }
     if (settings._dateParseHandling != null)
     {
         serializer._dateParseHandling = settings._dateParseHandling;
     }
     if (settings._dateFormatStringSet)
     {
         serializer._dateFormatString    = settings._dateFormatString;
         serializer._dateFormatStringSet = settings._dateFormatStringSet;
     }
     if (settings._floatFormatHandling != null)
     {
         serializer._floatFormatHandling = settings._floatFormatHandling;
     }
     if (settings._floatParseHandling != null)
     {
         serializer._floatParseHandling = settings._floatParseHandling;
     }
     if (settings._stringEscapeHandling != null)
     {
         serializer._stringEscapeHandling = settings._stringEscapeHandling;
     }
     if (settings._culture != null)
     {
         serializer._culture = settings._culture;
     }
     if (settings._maxDepthSet)
     {
         serializer._maxDepth    = settings._maxDepth;
         serializer._maxDepthSet = settings._maxDepthSet;
     }
 }