System\Text\Json\Serialization\Metadata\JsonTypeInfo.cs (40)
80/// The <see cref="JsonTypeInfo"/> instance has been locked for further modification.
111/// The <see cref="JsonTypeInfo"/> instance has been locked for further modification.
141/// The <see cref="JsonTypeInfo"/> instance has been locked for further modification.
171/// The <see cref="JsonTypeInfo"/> instance has been locked for further modification.
207/// The <see cref="JsonTypeInfo"/> instance has been locked for further modification.
293/// <paramref name="value" /> has been associated with a different <see cref="JsonTypeInfo"/> instance.
296/// The <see cref="JsonTypeInfo"/> instance has been locked for further modification.
336/// A <see cref="JsonTypeInfo"/> instance can be locked either if
386internal JsonTypeInfo? ElementTypeInfo
396JsonTypeInfo? elementTypeInfo = _elementTypeInfo;
412internal JsonTypeInfo? KeyTypeInfo
422JsonTypeInfo? keyTypeInfo = _keyTypeInfo;
434private JsonTypeInfo? _elementTypeInfo;
435private JsonTypeInfo? _keyTypeInfo;
438/// Gets the <see cref="JsonSerializerOptions"/> value associated with the current <see cref="JsonTypeInfo" /> instance.
453/// As such, the value of the converter cannot be changed once a <see cref="JsonTypeInfo"/> instance has been created.
473/// Dummy <see cref="JsonPropertyInfo"/> instance corresponding to the declaring type of this <see cref="JsonTypeInfo"/>.
491/// The <see cref="JsonTypeInfo"/> instance has been locked for further modification.
523/// The <see cref="JsonTypeInfo"/> instance has been locked for further modification.
567/// The <see cref="JsonTypeInfo"/> instance has been locked for further modification.
605/// The <see cref="JsonTypeInfo"/> instance has been locked for further modification.
788internal JsonTypeInfo? AncestorPolymorphicType
805private JsonTypeInfo? _ancestorPolymorhicType;
905/// which constrains the type of metadata that can be modified in the <see cref="JsonTypeInfo"/> instance.
918/// Creates a blank <see cref="JsonTypeInfo"/> instance.
922/// <returns>A blank <see cref="JsonTypeInfo"/> instance.</returns>
926/// The returned <see cref="JsonTypeInfo"/> will be blank, with the exception of the
933/// which constrains the type of metadata that can be modified in the <see cref="JsonTypeInfo"/> instance.
937public static JsonTypeInfo CreateJsonTypeInfo(Type type, JsonSerializerOptions options)
953internal static JsonTypeInfo CreateJsonTypeInfo(Type type, JsonConverter converter, JsonSerializerOptions options)
955JsonTypeInfo jsonTypeInfo;
966jsonTypeInfo = (JsonTypeInfo)jsonTypeInfoType.CreateInstanceNoWrapExceptions(
976/// Creates a blank <see cref="JsonPropertyInfo"/> instance for the current <see cref="JsonTypeInfo"/>.
983/// <exception cref="InvalidOperationException">The <see cref="JsonTypeInfo"/> instance has been locked for further modification.</exception>
1009if (Options.TryGetTypeInfoCached(propertyType, out JsonTypeInfo? jsonTypeInfo))
1022parameterTypes: [typeof(Type), typeof(JsonTypeInfo), typeof(JsonSerializerOptions)],
1033private protected abstract JsonPropertyInfo CreateJsonPropertyInfo(JsonTypeInfo declaringTypeInfo, Type? declaringType, JsonSerializerOptions options);
1329(propertyType.FullName == JsonObjectTypeName && ReferenceEquals(propertyType.Assembly, typeof(JsonTypeInfo).Assembly));
1359private readonly JsonTypeInfo _jsonTypeInfo;
1361public JsonPropertyInfoList(JsonTypeInfo jsonTypeInfo)
System\Text\Json\Serialization\Metadata\ReflectionEmitMemberAccessor.cs (6)
38JsonTypeInfo.ObjectType,
110public override JsonTypeInfo.ParameterizedConstructorDelegate<T, TArg0, TArg1, TArg2, TArg3>?
112CreateDelegate<JsonTypeInfo.ParameterizedConstructorDelegate<T, TArg0, TArg1, TArg2, TArg3>>(
168new[] { collectionType, JsonTypeInfo.ObjectType },
383new[] { JsonTypeInfo.ObjectType },
391new[] { JsonTypeInfo.ObjectType, memberType },