// <auto-generated/> #nullable enable annotations #nullable disable warnings // Suppress warnings about [Obsolete] member usage in generated code. #pragma warning disable CS0612, CS0618 namespace Microsoft.Extensions.AI.JsonSchemaExporter { public static partial class TestTypes { public partial class TestTypesContext { private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedDictionary>? _DerivedDictionary; /// <summary> /// Defines the source generated JSON serialization contract metadata for a given type. /// </summary> #nullable disable annotations // Marking the property type as nullable-oblivious. public global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedDictionary> DerivedDictionary #nullable enable annotations { get => _DerivedDictionary ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedDictionary>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedDictionary)); } private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedDictionary> Create_DerivedDictionary(global::System.Text.Json.JsonSerializerOptions options) { if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedDictionary>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedDictionary> jsonTypeInfo)) { var info = new global::System.Text.Json.Serialization.Metadata.JsonCollectionInfoValues<global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedDictionary> { ObjectCreator = () => new global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedDictionary(), SerializeHandler = DerivedDictionarySerializeHandler }; jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateIReadOnlyDictionaryInfo<global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedDictionary, string, int>(options, info); jsonTypeInfo.NumberHandling = null; } jsonTypeInfo.OriginatingResolver = this; return jsonTypeInfo; } // Intentionally not a static method because we create a delegate to it. Invoking delegates to instance // methods is almost as fast as virtual calls. Static methods need to go through a shuffle thunk. private void DerivedDictionarySerializeHandler(global::System.Text.Json.Utf8JsonWriter writer, global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedDictionary? value) { if (value is null) { writer.WriteNullValue(); return; } writer.WriteStartObject(); foreach (global::System.Collections.Generic.KeyValuePair<string, int> entry in value) { writer.WriteNumber(entry.Key, entry.Value); } writer.WriteEndObject(); } } } }