internal ReflectionJsonTypeInfo(JsonConverter converter, JsonSerializerOptions options) : base(converter, options) { NumberHandling = GetNumberHandlingForType(Type); PopulatePolymorphismMetadata(); MapInterfaceTypesToCallbacks(); if (PropertyInfoForTypeInfo.ConverterStrategy == ConverterStrategy.Object) { AddPropertiesAndParametersUsingReflection(); } Func <object>?createObject = Options.MemberAccessorStrategy.CreateConstructor(typeof(T)); if (converter.UsesDefaultConstructor) { SetCreateObject(createObject); } CreateObjectForExtensionDataProperty = createObject; // Plug in any converter configuration -- should be run last. converter.ConfigureJsonTypeInfo(this, options); converter.ConfigureJsonTypeInfoUsingReflection(this, options); }