Table of Contents

Class AttributeTypeInfo<T>

Namespace
The.Attributes
Assembly
Instagile.dll
public sealed record AttributeTypeInfo<T> : IAttributeTypeInfo, IEquatable<AttributeTypeInfo<T>>

Type Parameters

T
Inheritance
AttributeTypeInfo<T>
Implements
Inherited Members

Constructors

AttributeTypeInfo(Func<T>, Func<string?, T>, Func<T, T, int>, Func<AttributeInfo, IEntityContext, T?, bool, T>, Func<T, bool>, Func<TimeProvider, T, T>?, Func<T?, T?>?, Func<T, string>)

public AttributeTypeInfo(Func<T> GetDefaultValue, Func<string?, T> Parse, Func<T, T, int> Compare, Func<AttributeInfo, IEntityContext, T?, bool, T> Normalise, Func<T, bool> HasValue, Func<TimeProvider, T, T>? CoercePersistenceValueForGet, Func<T?, T?>? CoercePersistenceValueForSet, Func<T, string> Print)

Parameters

GetDefaultValue Func<T>
Parse Func<string, T>
Compare Func<T, T, int>
Normalise Func<AttributeInfo, IEntityContext, T, bool, T>
HasValue Func<T, bool>
CoercePersistenceValueForGet Func<TimeProvider, T, T>
CoercePersistenceValueForSet Func<T, T>
Print Func<T, string>

Properties

CoercePersistenceValueForGet

public Func<TimeProvider, T, T>? CoercePersistenceValueForGet { get; init; }

Property Value

Func<TimeProvider, T, T>

CoercePersistenceValueForSet

public Func<T?, T?>? CoercePersistenceValueForSet { get; init; }

Property Value

Func<T, T>

Compare

public Func<T, T, int> Compare { get; init; }

Property Value

Func<T, T, int>

DefaultValue

public T DefaultValue { get; }

Property Value

T

GetDefaultValue

public Func<T> GetDefaultValue { get; init; }

Property Value

Func<T>

HasValue

public Func<T, bool> HasValue { get; init; }

Property Value

Func<T, bool>

Normalise

public Func<AttributeInfo, IEntityContext, T?, bool, T> Normalise { get; init; }

Property Value

Func<AttributeInfo, IEntityContext, T, bool, T>

Parse

public Func<string?, T> Parse { get; init; }

Property Value

Func<string, T>

Print

public Func<T, string> Print { get; init; }

Property Value

Func<T, string>

Methods

Accept(IAttributeVisitor)

Passes the concrete entity type to Visit<T>(AttributeTypeInfo<T>).

public void Accept(IAttributeVisitor visitor)

Parameters

visitor IAttributeVisitor

Accept<U>(IAttributeVisitor<U>)

Passes the concrete entity type to Visit<T>(AttributeTypeInfo<T>).

public U Accept<U>(IAttributeVisitor<U> visitor)

Parameters

visitor IAttributeVisitor<U>

Returns

U

Type Parameters

U

CreateAttribute(AttributeInfo, EntityKernel)

public AttributeBase CreateAttribute(AttributeInfo metadata, EntityKernel parent)

Parameters

metadata AttributeInfo
parent EntityKernel

Returns

AttributeBase