/// <summary> /// Creates metadata for a primitive or a type with a custom converter. /// </summary> /// <typeparam name="T">The generic type definition.</typeparam> /// <returns>A <see cref="JsonTypeInfo{T}"/> instance representing the type.</returns> public static JsonTypeInfo <T> CreateValueInfo <T>(JsonSerializerOptions options, JsonConverter converter) { JsonTypeInfo <T> info = new JsonTypeInfoInternal <T>(options, ConverterStrategy.Value); info.PropertyInfoForTypeInfo = CreateJsonPropertyInfoForClassInfo(typeof(T), info, converter, options); return(info); }
/// <summary> /// Creates metadata for a primitive or a type with a custom converter. /// </summary> /// <typeparam name="T">The generic type definition.</typeparam> /// <typeparam name="TConverterReturn">The generic type definition.</typeparam> /// <returns>A <see cref="JsonTypeInfo{T}"/> instance representing the type.</returns> public static JsonTypeInfo <T> CreateValueInfo <T, TConverterReturn>(JsonSerializerOptions options, JsonConverter <TConverterReturn> converter) where TConverterReturn : T { JsonTypeInfo <T> info = new JsonTypeInfoInternal <T>(options); info.PropertyInfoForTypeInfo = JsonPropertyInfo <TConverterReturn> .CreateForSourceGenTypeInfo(typeof(T), runtimeTypeInfo : info, converter, options); return(info); }