Freigeben über


OpCodes.Ldelema-Feld

Lädt die Adresse des Arrayelements an einem angegebenen Arrayindex als Typ & (verwalteter Zeiger) an die oberste Position des Auswertungsstapels.

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

Syntax

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

value = OpCodes.Ldelema
public static readonly OpCode Ldelema
public:
static initonly OpCode Ldelema
public static final OpCode Ldelema
public static final var Ldelema : 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

8F < T >

ldelema class

Lädt die Adresse des Arrayelements am index als Typ & (verwalteter Zeiger) an die oberste Position des Auswertungsstapels.

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

  1. Der Objektverweis array wird auf dem Stapel abgelegt.

  2. Ein Indexwert index wird auf dem Stapel abgelegt.

  3. Der index und das array werden vom Stapel geholt. Die an der Position index im array gespeicherte Adresse wird gesucht.

  4. Die Adresse wird auf dem Stapel abgelegt.

Mit ldelema wird die Adresse eines Objekts an einem bestimmten Index in einem Array von Objekten (vom Typ class) abgerufen. Die ldelema-Anweisung lädt die Adresse des Werts am Index index (Typ natural int) im nullbasierten eindimensionalen Array array und legt sie an oberster Position auf dem Stapel ab. Arrays sind Objekte und können daher als Wert vom Typ O dargestellt werden. Der Wert muss vom Typ class sein, die mit der Anweisung übergeben wurde.

Der Rückgabewert für ldelema ist ein verwalteter Zeiger (Typ &).

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

NullReferenceException wird ausgelöst, wenn array ein NULL-Verweis ist.

ArrayTypeMismatchException wird ausgelöst, wenn array keine Elemente des erforderlichen Typs enthält.

IndexOutOfRangeException wird ausgelöst, wenn der index negativ oder größer als die Begrenzung von array ist.

Die folgende Überladung der Emit-Methode verwendet den ldelema-Opcode:

  • ILGenerator.Emit(OpCode, Type)

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