예제 #1
0
        internal JsonPropertyInfo CreatePolymorphicProperty(JsonPropertyInfo property, Type runtimePropertyType, JsonSerializerOptions options)
        {
            JsonPropertyInfo runtimeProperty = CreateProperty(property.DeclaredPropertyType, runtimePropertyType, property?.PropertyInfo, Type, options);

            property.CopyRuntimeSettingsTo(runtimeProperty);

            return(runtimeProperty);
        }
예제 #2
0
        internal JsonPropertyInfo CreatePolymorphicProperty(JsonPropertyInfo property, Type runtimePropertyType, JsonSerializerOptions options)
        {
            if (property == null)
            {
                // Used with root objects which are not really a property.
                return(CreateProperty(runtimePropertyType, runtimePropertyType, null, runtimePropertyType, options));
            }

            JsonPropertyInfo runtimeProperty = CreateProperty(property.DeclaredPropertyType, runtimePropertyType, property?.PropertyInfo, Type, options);

            property.CopyRuntimeSettingsTo(runtimeProperty);

            return(runtimeProperty);
        }