SpecialType Enum

Definition

Specifies the Ids of special runtime types.

C#
public enum SpecialType
Inheritance
SpecialType

Fields

Name Value Description
None 0

Indicates a non-special type (default value).

System_Object 1

Indicates that the type is Object.

System_Enum 2

Indicates that the type is Enum.

System_MulticastDelegate 3

Indicates that the type is MulticastDelegate.

System_Delegate 4

Indicates that the type is Delegate.

System_ValueType 5

Indicates that the type is ValueType.

System_Void 6

Indicates that the type is Void.

System_Boolean 7

Indicates that the type is Boolean.

System_Char 8

Indicates that the type is Char.

System_SByte 9

Indicates that the type is SByte.

System_Byte 10

Indicates that the type is Byte.

System_Int16 11

Indicates that the type is Int16.

System_UInt16 12

Indicates that the type is UInt16.

System_Int32 13

Indicates that the type is Int32.

System_UInt32 14

Indicates that the type is UInt32.

System_Int64 15

Indicates that the type is Int64.

System_UInt64 16

Indicates that the type is UInt64.

System_Decimal 17

Indicates that the type is Decimal.

System_Single 18

Indicates that the type is Single.

System_Double 19

Indicates that the type is Double.

System_String 20

Indicates that the type is String.

System_IntPtr 21

Indicates that the type is IntPtr.

System_UIntPtr 22

Indicates that the type is UIntPtr.

System_Array 23

Indicates that the type is Array.

System_Collections_IEnumerable 24

Indicates that the type is IEnumerable.

System_Collections_Generic_IEnumerable_T 25

Indicates that the type is IEnumerable<T>.

System_Collections_Generic_IList_T 26

Indicates that the type is IList<T>.

System_Collections_Generic_ICollection_T 27

Indicates that the type is ICollection<T>.

System_Collections_IEnumerator 28

Indicates that the type is IEnumerator.

System_Collections_Generic_IEnumerator_T 29

Indicates that the type is IEnumerator<T>.

System_Collections_Generic_IReadOnlyList_T 30

Indicates that the type is IReadOnlyList<T>.

System_Collections_Generic_IReadOnlyCollection_T 31

Indicates that the type is IReadOnlyCollection<T>.

System_Nullable_T 32

Indicates that the type is Nullable<T>.

System_DateTime 33

Indicates that the type is DateTime.

System_Runtime_CompilerServices_IsVolatile 34

Indicates that the type is IsVolatile.

System_IDisposable 35

Indicates that the type is IDisposable.

System_TypedReference 36

Indicates that the type is TypedReference.

System_ArgIterator 37

Indicates that the type is ArgIterator.

System_RuntimeArgumentHandle 38

Indicates that the type is RuntimeArgumentHandle.

System_RuntimeFieldHandle 39

Indicates that the type is RuntimeFieldHandle.

System_RuntimeMethodHandle 40

Indicates that the type is RuntimeMethodHandle.

System_RuntimeTypeHandle 41

Indicates that the type is RuntimeTypeHandle.

System_IAsyncResult 42

Indicates that the type is IAsyncResult.

System_AsyncCallback 43

Indicates that the type is AsyncCallback.

System_Runtime_CompilerServices_RuntimeFeature 44

Indicates that the type is System.Runtime.CompilerServices.RuntimeFeature.

System_Runtime_CompilerServices_PreserveBaseOverridesAttribute 45

An attribute that is placed on each method with a 'methodimpl" aka ".override" in metadata.

Count 46

Count of special types. This is not a count of enum members.

System_Runtime_CompilerServices_InlineArrayAttribute 46

An attribute that is placed on an inline array type.

Remarks

Only types explicitly mentioned in "Co-located core types" spec (https://github.com/dotnet/roslyn/blob/main/docs/compilers/Co-located%20core%20types.md) can be in this enum. The following things should be in sync: 1) SpecialType enum 2) names in SpecialTypes.EmittedNames array.

Applies to

Product Versions
Roslyn 4.2.0, 4.3.0, 4.4.0, 4.5.0, 4.6.0, 4.7.0, 4.8.0, 4.9.2, 3.0.0, 3.1.0, 3.2.0, 3.2.1, 3.3.1, 3.4.0, 3.5.0, 3.6.0, 3.7.0, 3.8.0, 3.9.0, 3.10.0, 3.11.0, 4.0.1, 4.1.0, 4.12.2, 4.13.0