OpCodes.Sizeof Field

Definition

Pushes the size, in bytes, of a supplied value type onto the evaluation stack.

C#
public static readonly System.Reflection.Emit.OpCode Sizeof;

Field Value

Remarks

The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:

Format Assembly Format Description
FE 1C < T > sizeof valType Push the size, in bytes, of a value type as an unsigned int32.

The stack transitional behavior, in sequential order, is:

  1. The size (in bytes) of the supplied value type (valType) is pushed onto the stack.

valType must be a metadata token (a typeref or typedef) that specifies a value type, reference type, or generic type parameter.

For a reference type, the size returned is the size of a reference value of the corresponding type (4 bytes on 32-bit systems), not the size of the data stored in objects referred to by the reference value. A generic type parameter can be used only in the body of the type or method that defines it. When that type or method is instantiated, the generic type parameter is replaced by a value type or reference type.

The following Emit method overload can use the sizeof opcode:

Applies to

Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

See also