Namespace PolyType.Abstractions
Classes
- AssociatedTypeAttributeAttribute
An attribute to apply to other attribute classes that accept one or more Type arguments that should be considered associated types to whatever type the other attribute is applied to.
- TypeShapeProvider
Helper methods for extracting ITypeShape instances from shape providers.
- TypeShapeVisitor
Provides a visitor for strongly-typed traversal of .NET types.
Interfaces
- 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.
- IObjectTypeShape
Provides a strongly typed shape model for a .NET object.
- IObjectTypeShape<T>
Provides a strongly typed shape model for a .NET object.
- IOptionalTypeShape
Provides a strongly typed shape model for optional types.
- IOptionalTypeShape<TOptional, TElement>
Provides a strongly typed shape model for optional types.
- IParameterShape
Provides a strongly typed shape model for a given .NET method parameter, representing either an actual parameter or a member initializer.
- IParameterShape<TArgumentState, TParameterType>
Provides a strongly typed shape model for a given .NET method parameter, representing either an actual method parameter or a required or init-only property.
- 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.
- ISurrogateTypeShape
Provides a strongly typed shape model for a .NET type that employs a surrogate type.
- ISurrogateTypeShape<T, TSurrogate>
Provides a strongly typed shape model for a .NET type that employs a surrogate type.
- ITypeShape
Provides a strongly typed shape model for a given .NET type.
- ITypeShapeFunc
A generic function used to unpack ITypeShape instances.
- ITypeShape<T>
Provides a strongly typed shape model for a given .NET type.
- IUnionCaseShape
Provides a strongly typed shape model for a union case in a discriminated union type.
- IUnionCaseShape<TUnionCase, TUnion>
Provides a strongly typed shape model for a union case in a discriminated union type.
- IUnionTypeShape
Provides a strongly typed shape model for a .NET type encoding a discriminated union.
- IUnionTypeShape<TUnion>
Provides a strongly typed shape model for a .NET type encoding a discriminated union.
Enums
- CollectionConstructionStrategy
The construction strategy use for a given IEnumerableTypeShape or IDictionaryTypeShape.
- ParameterKind
Specifies the kind of method parameter.
Delegates
- Constructor<TArgumentState, TDeclaringType>
Delegate representing a parameterized constructor.
- Getter<TDeclaringType, TPropertyType>
Delegate representing a property/field getter.
- OptionDeconstructor<TOptional, TElement>
Delegate deconstructing an optional type.
- Setter<TDeclaringType, TPropertyType>
Delegate representing a property/field setter.
- SpanConstructor<T, TDeclaringType>
Delegate representing a constructor that accepts a span of values.