Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ DetermineConverter()

JsonConverter System.Text.Json.JsonSerializerOptions.DetermineConverter ( Type parentClassType,
Type runtimePropertyType,
MemberInfo memberInfo )
inlinepackage

Definition at line 408 of file JsonSerializerOptions.cs.

409 {
411 if (memberInfo != null)
412 {
414 if (jsonConverterAttribute != null)
415 {
417 }
418 }
419 if (jsonConverter == null)
420 {
422 }
424 {
425 jsonConverter = jsonConverterFactory.GetConverterInternal(runtimePropertyType, this);
426 }
427 if (runtimePropertyType.IsValueType && jsonConverter.IsValueType && (runtimePropertyType.IsNullableOfT() ^ jsonConverter.TypeToConvert.IsNullableOfT()))
428 {
429 ThrowHelper.ThrowInvalidOperationException_ConverterCanConvertMultipleTypes(runtimePropertyType, jsonConverter);
430 }
431 return jsonConverter;
432 }
static Attribute GetAttributeThatCanHaveMultiple(Type classType, Type attributeType, MemberInfo memberInfo)
JsonConverter GetConverterFromAttribute(JsonConverterAttribute converterAttribute, Type typeToConvert, Type classTypeAttributeIsOn, MemberInfo memberInfo)
JsonConverter GetConverterInternal(Type typeToConvert)

References System.Text.Json.Dictionary, System.Text.Json.JsonSerializerOptions.GetAttributeThatCanHaveMultiple(), System.Text.Json.JsonSerializerOptions.GetConverterFromAttribute(), System.Text.Json.JsonSerializerOptions.GetConverterInternal(), and System.Text.Json.ThrowHelper.ThrowInvalidOperationException_ConverterCanConvertMultipleTypes().