This namespace contains specializations of the IType interface.
Simplified class diagram
classDiagram
IType <|-- INamedType
INamedType <|-- ITupleType
IType <|-- ITypeParameter
IType <|-- IArrayType
IType <|-- IPointerType
IType <|-- IFunctionPointerType
IType <|-- IDynamicType
Warning
IExtensionBlock, despite implementing INamedType, should never be used as an IType.
Interfaces
IArrayType
Represents an array, e.g. T[].
IDelegateFacet
Represents the structure of a delegate: its Invoke method, which carries its signature.
IDynamicType
Represents the dynamic type, which bypasses compile-time type checking.
IEnumFacet
Represents the structure of an enum: its underlying integral type, its members, and whether it carries FlagsAttribute.
IFunctionPointerType
Represents a function pointer type (delegate*).
IPointerType
Represents an unsafe pointer type.
IRecordFacet
Represents the structure of a record: the members that the compiler synthesizes for it.
ITypeFacet
Represents the structure that a named type has because of its kind, and that other named types do not have.
IUnionCase
Represents one case of a union, reached through Cases.
IUnionFacet
Represents the structure of a union of C# 15: its authoring form, its cases and its Value property.
Enums
TypeFacetKind
Kinds of ITypeFacet.
UnionKind
Authoring forms of a union of C# 15, reported by UnionKind.