Represents a constructed type, for instance an array, a generic type instance, a pointer. A class, struct, enum or delegate are represented as an INamedType, which derive from IType.
Namespace: Metalama.Framework.Code
Assembly: Metalama.Framework.dll
Syntax
[CompileTime]
public interface IType : ICompilationElement, IDisplayable, IEquatable<IType>
Remarks
The IType interface implements IEquatable<T>. The implementation uses the Default comparer. To use a different comparer, choose a different comparer from IDeclaration.Compilation.Comparers. You can also use Equals(IType?, TypeComparison) and specify a TypeComparison.
Properties
Name | Description |
---|---|
IsNullable | Gets the nullability of the type, or |
IsReferenceType | Gets a value indicating whether the type is a reference type. If the type is a generic parameter
without a |
SpecialType | Gets the SpecialType enumeration value for the current type. Provides a fast way to determine whether the current type is of a well-known type. |
TypeKind | Gets the kind of type. |
Methods
Name | Description |
---|---|
Equals(IType?, TypeComparison) | |
Equals(SpecialType) | Determines whether the current type is equal to a well-known special type. |
Equals(Type?, TypeComparison) | |
MakeArrayType(int) | Creates an array type whose element type is the current type. |
MakePointerType() | Creates a pointer type pointing at the current type. |
ToNonNullable() | Returns the non-nullable type from the current IType. If the current type is a non-nullable reference type, returns the current type. If the current type is a Nullable<T>, i.e. a nullable value type, returns the underlying type. |
ToNullable() | Creates a nullable type from the current IType. If the current type is already nullable, returns the current type. If the type is a value type, returns a Nullable<T> of this type. |
ToRef() | |
ToType() | Gets a reflection Type that represents the current type at run time. |