Table of Contents

Class DtoBuilder

Namespace
TypedRest.CodeGeneration.CSharp.Dtos
Assembly
TypedRest.CodeGeneration.CSharp.dll
public abstract class DtoBuilder
Inheritance
object
DtoBuilder
Derived

Constructors

DtoBuilder(string, OpenApiSchema, INamingStrategy, LanguageVersion, TypeNameRegistry?, JsonAttributes?)

protected DtoBuilder(string key, OpenApiSchema schema, INamingStrategy naming, LanguageVersion languageVersion = LanguageVersion.Latest, TypeNameRegistry? typeNames = null, JsonAttributes? jsonAttributes = null)

Parameters

key string
schema OpenApiSchema
naming INamingStrategy
languageVersion LanguageVersion
typeNames TypeNameRegistry
jsonAttributes JsonAttributes

Fields

ChildTypes

protected readonly List<ICSharpType> ChildTypes

Field Value

List<ICSharpType>

Identifier

protected readonly CSharpIdentifier Identifier

Field Value

CSharpIdentifier

Json

Supplies the attributes carrying wire names, for the JSON serializer the client is generated for.

protected readonly JsonAttributes Json

Field Value

JsonAttributes

LanguageVersion

The minimum C# version the generated code must compile with, with Latest and friends already resolved.

protected readonly LanguageVersion LanguageVersion

Field Value

LanguageVersion

Naming

protected readonly INamingStrategy Naming

Field Value

INamingStrategy

Schema

protected readonly OpenApiSchema Schema

Field Value

OpenApiSchema

TypeNames

Keeps the names of types generated for inline schemas from colliding with other generated types.

protected readonly TypeNameRegistry? TypeNames

Field Value

TypeNameRegistry

Properties

NullableReferenceTypes

Indicates whether the generated code may use nullable reference type annotations.

protected bool NullableReferenceTypes { get; }

Property Value

bool

Methods

BuildTypeInner()

protected abstract ICSharpType BuildTypeInner()

Returns

ICSharpType

BuildTypes()

public IEnumerable<ICSharpType> BuildTypes()

Returns

IEnumerable<ICSharpType>

For(string, OpenApiSchema, INamingStrategy, LanguageVersion, TypeNameRegistry?, JsonAttributes?)

public static DtoBuilder? For(string key, OpenApiSchema schema, INamingStrategy naming, LanguageVersion languageVersion = LanguageVersion.Latest, TypeNameRegistry? typeNames = null, JsonAttributes? jsonAttributes = null)

Parameters

key string
schema OpenApiSchema
naming INamingStrategy
languageVersion LanguageVersion
typeNames TypeNameRegistry
jsonAttributes JsonAttributes

Returns

DtoBuilder