Freigeben über


OpCodes.Ldind_U2-Feld

Lädt einen Wert vom Typ unsigned int16 indirekt als int32 in den Auswertungsstapel.

Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Shared ReadOnly Ldind_U2 As OpCode
'Usage
Dim value As OpCode

value = OpCodes.Ldind_U2
public static readonly OpCode Ldind_U2
public:
static initonly OpCode Ldind_U2
public static final OpCode Ldind_U2
public static final var Ldind_U2 : OpCode

Hinweise

In der folgenden Tabelle werden das hexadezimale und das Assemblyformat der MSIL (Microsoft Intermediate Language) jeweils mit einer Kurzreferenz aufgeführt:

Format

Assemblyformat

Beschreibung

49

ldind.u2

Lädt den unsigned int16-Wert an der Adresse addr als int32 in den Stapel.

Im Stapel laufen die folgenden Aktionen in der angegebenen Reihenfolge ab:

  1. Eine Adresse wird auf dem Stapel abgelegt.

  2. Die Adresse wird vom Stapel geholt, und der an der Adresse befindliche Wert wird abgerufen.

  3. Der abgerufene Wert wird auf dem Stapel abgelegt.

Die ldind.u2-Anweisung lädt indirekt einen unsigned int16-Wert von der angegebenen Adresse (vom Typ natural int, & oder *) als int32 in den Stapel.

Alle ldind-Anweisungen sind Kurzbefehle für eine Ldobj-Anweisung, die die entsprechende integrierte Wertklasse angibt.

Beachten Sie, dass Ganzzahlwerte mit weniger als 4 Bytes beim Laden in den Auswertungsstapel auf int32 (nicht natural int) erweitert werden. Gleitkommawerte werden beim Laden in den Auswertungsstapel in den F-Typ konvertiert.

Durch wohlgeformten MSIL (Microsoft Intermediate Language)-Code wird sichergestellt, dass ldind-Anweisungen dem Zeigertyp entsprechend verwendet werden.

Die ursprünglich auf dem Stapel abgelegte Adresse muss an die systemeigene Größe von Objekten auf dem Computer angepasst sein, andernfalls kann eine NullReferenceException auftreten. (Vorbeugende Maßnahmen werden in der Anweisung für das Unaligned-Präfix beschrieben.) Die Ergebnisse sämtlicher MSIL-Anweisungen, die Adressen zurückgeben (z. B. Ldloca und Ldarga) werden sicher angepasst. Bei Datentypen, die größer als 1 Byte sind, hängt die Anordnung der Bytes von der Ziel-CPU ab. Code, der von der Anordnung der Bytes abhängig ist, kann u. U. nicht auf allen Plattformen ausgeführt werden.

Wenn eine ungültige Adresse erkannt wird, kann eine NullReferenceException ausgelöst werden.

Die folgende Überladung der Emit-Methode verwendet den ldind.u2-Opcode:

  • ILGenerator.Emit(OpCode)

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

OpCodes-Klasse
OpCodes-Member
System.Reflection.Emit-Namespace