Table of Contents

Class SourceGenConstructorShape<TDeclaringType, TArgumentState>

Namespace
PolyType.SourceGenModel
Assembly
PolyType.dll

Source generator model for a constructor shape.

public sealed class SourceGenConstructorShape<TDeclaringType, TArgumentState> : IConstructorShape<TDeclaringType, TArgumentState>, IConstructorShape where TArgumentState : IArgumentState

Type Parameters

TDeclaringType

The type being constructed.

TArgumentState

The mutable argument state for the constructor.

Inheritance
SourceGenConstructorShape<TDeclaringType, TArgumentState>
Implements
IConstructorShape<TDeclaringType, TArgumentState>
Inherited Members

Properties

ArgumentStateConstructor

Gets the argument state constructor for the constructor.

public Func<TArgumentState>? ArgumentStateConstructor { get; init; }

Property Value

Func<TArgumentState>

AttributeFactory

Gets the attribute provider for the constructor.

public Func<SourceGenAttributeInfo[]>? AttributeFactory { get; init; }

Property Value

Func<SourceGenAttributeInfo[]>

DeclaringType

Gets the shape of the declaring type for the constructor.

public required IObjectTypeShape<TDeclaringType> DeclaringType { get; init; }

Property Value

IObjectTypeShape<TDeclaringType>

DefaultConstructor

Gets the default constructor for the declaring type.

public Func<TDeclaringType>? DefaultConstructor { get; init; }

Property Value

Func<TDeclaringType>

IsPublic

Gets a value indicating whether the constructor is declared public.

public bool IsPublic { get; init; }

Property Value

bool

MethodBaseFactory

Gets the method base resolver factory.

public Func<MethodBase?>? MethodBaseFactory { get; init; }

Property Value

Func<MethodBase>

ParameterizedConstructor

Gets the parameterized constructor for the constructor.

public Constructor<TArgumentState, TDeclaringType>? ParameterizedConstructor { get; init; }

Property Value

Constructor<TArgumentState, TDeclaringType>

ParametersFactory

Gets the parameter shapes for the constructor.

public Func<IEnumerable<IParameterShape>>? ParametersFactory { get; init; }

Property Value

Func<IEnumerable<IParameterShape>>