Table of Contents

Class SpecialType

Namespace
ICSharpCode.Decompiler.TypeSystem
Assembly
ICSharpCode.Decompiler.dll

Contains static implementations of special types.

public sealed class SpecialType : AbstractType, IType, INamedElement, IEquatable<IType>, ITypeReference
Inheritance
SpecialType
Implements
Inherited Members
Extension Methods

Fields

ArgList

Type representing the result of the C# '__arglist()' expression.

public static readonly SpecialType ArgList

Field Value

SpecialType

Dynamic

Type representing the C# 'dynamic' type.

public static readonly SpecialType Dynamic

Field Value

SpecialType

NInt

Type representing the C# 9 'nint' type.

public static readonly SpecialType NInt

Field Value

SpecialType

NUInt

Type representing the C# 9 'nuint' type.

public static readonly SpecialType NUInt

Field Value

SpecialType

NoType

Used for expressions without type, e.g. method groups or lambdas.

public static readonly SpecialType NoType

Field Value

SpecialType

NullType

The null type is used as type of the null literal. It is a reference type without any members; and it is a subtype of all reference types.

public static readonly SpecialType NullType

Field Value

SpecialType

UnboundTypeArgument

A type used for unbound type arguments in partially parameterized types.

public static readonly SpecialType UnboundTypeArgument

Field Value

SpecialType

UnknownType

Gets the type representing resolve errors.

public static readonly SpecialType UnknownType

Field Value

SpecialType

Properties

IsReferenceType

public override bool? IsReferenceType { get; }

Property Value

bool?

Kind

Gets the type kind.

public override TypeKind Kind { get; }

Property Value

TypeKind

Name

public override string Name { get; }

Property Value

string

Methods

ChangeNullability(Nullability)

Creates a new type that is a copy of this type, with the changed nullability annotation.

public override IType ChangeNullability(Nullability nullability)

Parameters

nullability Nullability

Returns

IType

Equals(IType)

[Obsolete("Please compare special types using the kind property instead.")]
public override bool Equals(IType other)

Parameters

other IType

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int