// <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.DerivedCollection>? _DerivedCollection; /// <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.DerivedCollection> DerivedCollection #nullable enable annotations { get => _DerivedCollection ??= (global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedCollection>)Options.GetTypeInfo(typeof(global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedCollection)); } private global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedCollection> Create_DerivedCollection(global::System.Text.Json.JsonSerializerOptions options) { if (!TryGetTypeInfoForRuntimeCustomConverter<global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedCollection>(options, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo<global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedCollection> jsonTypeInfo)) { var info = new global::System.Text.Json.Serialization.Metadata.JsonCollectionInfoValues<global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedCollection> { ObjectCreator = () => new global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedCollection(), SerializeHandler = DerivedCollectionSerializeHandler }; jsonTypeInfo = global::System.Text.Json.Serialization.Metadata.JsonMetadataServices.CreateIEnumerableInfo<global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedCollection, 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 DerivedCollectionSerializeHandler(global::System.Text.Json.Utf8JsonWriter writer, global::Microsoft.Extensions.AI.JsonSchemaExporter.TestTypes.PocoWithPolymorphism.DerivedCollection? value) { if (value is null) { writer.WriteNullValue(); return; } writer.WriteStartArray(); foreach (int element in value) { writer.WriteNumberValue(element); } writer.WriteEndArray(); } } } }