Table of Contents

Namespace PolyType.Abstractions

Classes

TypeShapeProvider

Helper methods for extracting ITypeShape instances from shape providers.

TypeShapeVisitor

Provides a visitor for strongly-typed traversal of .NET types.

Interfaces

IConstructorParameterShape

Provides a strongly typed shape model for a given .NET constructor parameter, representing either an actual constructor parameter or a member initializer.

IConstructorParameterShape<TArgumentState, TParameterType>

Provides a strongly typed shape model for a given .NET constructor parameter, representing either an actual constructor parameter or a required or init-only property.

IConstructorShape

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

IConstructorShape<TDeclaringType, TArgumentState>

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

IDictionaryTypeShape

Provides a strongly typed shape model for a .NET type that is a dictionary.

IDictionaryTypeShape<TDictionary, TKey, TValue>

Provides a strongly typed shape model for a .NET type that is a dictionary.

IEnumTypeShape

Provides a strongly typed shape model for a .NET enum.

IEnumTypeShape<TEnum, TUnderlying>

Provides a strongly typed shape model for a .NET enum.

IEnumerableTypeShape

Provides a strongly typed shape model for a .NET type that is enumerable.

IEnumerableTypeShape<TEnumerable, TElement>

Provides a strongly typed shape model for a .NET type that is enumerable.

INullableTypeShape

Provides a strongly typed shape model for a .NET Nullable<T> type.

INullableTypeShape<T>

Provides a strongly typed shape model for a .NET Nullable<T> type.

IObjectTypeShape

Provides a strongly typed shape model for a .NET object.

IObjectTypeShape<T>

Provides a strongly typed shape model for a .NET object.

IPropertyShape

Provides a strongly typed shape model for a given .NET instance property or field.

IPropertyShape<TDeclaringType, TPropertyType>

Provides a strongly typed shape model for a given .NET instance property or field.

ITypeShape

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

ITypeShapeFunc

A generic function used to unpack ITypeShape instances.

ITypeShapeVisitor

Provides a visitor for strongly-typed traversal of .NET types.

ITypeShape<T>

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

Enums

CollectionConstructionStrategy

The construction strategy use for a given IEnumerableTypeShape or IDictionaryTypeShape.

ConstructorParameterKind

Specifies the kind of constructor parameter.

TypeShapeKind

Defines kinds of an ITypeShape instance.

Delegates

Constructor<TArgumentState, TDeclaringType>

Delegate representing a parameterized constructor.

Getter<TDeclaringType, TPropertyType>

Delegate representing a property/field getter.

Setter<TDeclaringType, TPropertyType>

Delegate representing a property/field setter.

SpanConstructor<T, TDeclaringType>

Delegate representing a constructor that accepts a span of values.