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
GetDefaultValueFunc<T>ParseFunc<string, T>CompareFunc<T, T, int>NormaliseFunc<AttributeInfo, IEntityContext, T, bool, T>HasValueFunc<T, bool>CoercePersistenceValueForGetFunc<TimeProvider, T, T>CoercePersistenceValueForSetFunc<T, T>PrintFunc<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
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
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
public Func<T, string> Print { get; init; }
Property Value
Methods
Accept(IAttributeVisitor)
Passes the concrete entity type to Visit<T>(AttributeTypeInfo<T>).
public void Accept(IAttributeVisitor visitor)
Parameters
visitorIAttributeVisitor
Accept<U>(IAttributeVisitor<U>)
Passes the concrete entity type to Visit<T>(AttributeTypeInfo<T>).
public U Accept<U>(IAttributeVisitor<U> visitor)
Parameters
visitorIAttributeVisitor<U>
Returns
- U
Type Parameters
U
CreateAttribute(AttributeInfo, EntityKernel)
public AttributeBase CreateAttribute(AttributeInfo metadata, EntityKernel parent)
Parameters
metadataAttributeInfoparentEntityKernel