OpCodes.Ldind_Ref Feld

Definition

Lädt einen Objektverweis als Typ O (Objektverweis) indirekt in den Auswertungsstapel.

public: static initonly System::Reflection::Emit::OpCode Ldind_Ref;
public static readonly System.Reflection.Emit.OpCode Ldind_Ref;
 staticval mutable Ldind_Ref : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldind_Ref As OpCode 

Feldwert

Hinweise

In der folgenden Tabelle sind das Hexadezimal- und Microsoft MSIL-Assemblyformat (Intermediate Language) der Anweisung zusammen mit einer kurzen Referenzzusammenfassung aufgeführt:

Format Assemblyformat Description
50 ldind.ref Lädt den Objektverweis an der Adresse addr als Typ in den Stapel. O

Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:

  1. Eine Adresse wird auf den Stapel verschoben.

  2. Die Adresse wird aus dem Stapel eingetaucht; der Objektverweis, der sich an der Adresse befindet, wird abgerufen.

  3. Der abgerufene Verweis wird auf den Stapel verschoben.

Die ldind.ref Anweisung lädt indirekt den Objektverweis auf die angegebene Adresse (vom Typ native int, &oder *) auf den Stapel als Typ O.

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

Beachten Sie, dass ganzzahlige Werte von weniger als 4 Byte auf int32 (nicht native int) erweitert werden, wenn sie in den Auswertungsstapel geladen werden. Gleitkommawerte werden beim Laden in den Auswertungsstapel in F Typ konvertiert.

Richtig gebildete Microsoft Zwischensprache (MSIL) stellt sicher, dass die ldind Anweisungen auf eine Weise verwendet werden, die mit dem Zeigertyp übereinstimmt.

Die anfänglich auf den Stapel geschobene Adresse muss an der natürlichen Größe von Objekten auf dem Computer ausgerichtet werden oder eine NullReferenceException kann auftreten (siehe Unaligned Präfixanweisung für präventive Maßnahmen). Die Ergebnisse aller MSIL-Anweisungen, die Adressen zurückgeben (z Ldloca . B. und Ldarga) sind sicher ausgerichtet. Bei Datentypen, die größer als 1 Byte sind, hängt die Byte-Sortierung von der Ziel-CPU ab. Code, der von der Byte-Sortierung abhängt, wird möglicherweise nicht auf allen Plattformen ausgeführt.

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

Die folgende Emit Methodenüberladung kann den ldind.ref Opcode verwenden:

Gilt für: