Table of Contents

Namespace PolyType

Classes

ConstructorShapeAttribute

Indicates that the annotated constructor should be included in the shape model.

DerivedTypeShapeAttribute

Specifies a known union case to be included in the type hierarchy of the current type.

GenerateShapeAttribute

Instructs the PolyType source generator to include the annotated type in the ITypeShapeProvider that it generates.

GenerateShapeAttribute<T>

Instructs the PolyType source generator to include T in the ITypeShapeProvider that it generates.

ParameterShapeAttribute

Configures the shape of a parameter for a given constructor.

PropertyShapeAttribute

Configures the shape of a property or field for a given type.

TypeShapeAttribute

Configures the generated ITypeShape of the annotated type.

TypeShapeExtensionAttribute

An assembly-level attribute that can extend an existing type's generated shape, as if TypeShapeAttribute had been applied to the target type.

Interfaces

IMarshaller<T, TSurrogate>

Represents a bidirectional mapping between T and TSurrogate.

IShapeable<T>

Defines a static abstract factory providing a ITypeShape<T> instance.

ITypeShapeProvider

Defines a provider for ITypeShape implementations.

Enums

TypeShapeKind

Defines kinds of an ITypeShape<T> instance.