Table of Contents

Method CreateRecursive

Namespace
AvroSharp.Schemas
Assembly
AvroSharp.dll

CreateRecursive(SchemaName, Func<RecordSchema, IEnumerable<RecordField>>, string?, IEnumerable<SchemaName>?, bool, IReadOnlyDictionary<string, JsonElement>?)

Creates a record whose fields may refer to the record itself, such as a linked list node.

public static RecordSchema CreateRecursive(SchemaName name, Func<RecordSchema, IEnumerable<RecordField>> fields, string? doc = null, IEnumerable<SchemaName>? aliases = null, bool isError = false, IReadOnlyDictionary<string, JsonElement>? properties = null)

Parameters

name SchemaName

The record name.

fields Func<RecordSchema, IEnumerable<RecordField>>

Creates the fields, given the record being defined.

doc string

Optional documentation.

aliases IEnumerable<SchemaName>

Optional alternative names.

isError bool

true for a protocol error type.

properties IReadOnlyDictionary<string, JsonElement>

Optional custom properties.

Returns

RecordSchema