Table of Contents

Namespace PolyType

Classes

AssociatedTypeShapeAttribute

Identifies one or more associated types for which shapes should be generated when the type this attribute is applied to has a shape generated for it.

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.

EnumMemberShapeAttribute

Annotates a member of an enum to provide additional metadata for its shape representation.

EventShapeAttribute

Configures the shape of an event for a given type.

GenerateShapeAttribute

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

GenerateShapeForAttribute

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

GenerateShapeForAttribute<T>

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

MethodShapeAttribute

Configures the shape of a method for a given type.

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.

TypeShapeProviderExtensions

Extension methods for the ITypeShapeProvider interface.

Interfaces

IMarshaler<TSource, TTarget>

Represents a bidirectional mapping between TSource and TTarget.

IShapeable<T>

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

ITypeShape

Provides a strongly typed shape model for a given .NET type.

ITypeShapeProvider

Defines a provider for ITypeShape implementations.

ITypeShape<T>

Provides a strongly typed shape model for a given .NET type.

Enums

MethodShapeFlags

Specifies flags that control what method or event shapes should be included in a type shape.

TypeShapeKind

Defines kinds of an ITypeShape<T> instance.

TypeShapeRequirements

Describes the requirements for preparing an associated type.