(0) exportieren Drucken
Alle erweitern
Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

OpCodes.Ldfld-Feld

Sucht den Wert eines Felds in dem Objekt, für das sich derzeit ein Verweis auf dem Auswertungsstapel befindet.

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

public static readonly OpCode Ldfld

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

Format

Assemblyformat

Beschreibung

7B < T >

ldfld field

Legt den Wert eines Felds in einem angegebenen Objekt auf dem Stapel ab.

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

  1. Ein Objektverweis (oder Zeiger) wird auf dem Stapel abgelegt.

  2. Der Objektverweis (oder Zeiger) wird vom Stapel geholt, und der Wert des angegebenen Felds im Objekt wird ermittelt.

  3. Der im Feld gespeicherte Wert wird auf dem Stapel abgelegt.

Die ldfld-Anweisung legt den Wert eines Felds, das sich in einem Objekt befindet, auf dem Stapel ab. Das Objekt muss als Objektverweis (Typ O), verwalteter Zeiger (Typ &), nicht verwalteter Zeiger (Typ native int), flüchtiger Zeiger (Typ *) oder Instanz des Werttyps auf dem Stapel abgelegt sein. Die Verwendung eines nicht verwalteten Zeigers ist in überprüfbarem Code nicht erlaubt. Das Feld des Objekts wird durch ein Metadatentoken angegeben, das auf einen Feldmember verweisen muss. Der Rückgabetyp entspricht demjenigen, der dem Feld zugeordnet ist. Dieses Feld kann entweder ein Instanzfeld (in diesem Fall darf das Objekt keinen NULL-Verweis darstellen) oder ein statisches Feld sein.

Der ldfld-Anweisung kann das Unaligned-Präfix und/oder das Volatile-Präfix vorangestellt sein.

Wenn das Objekt den Wert NULL aufweist und das Feld nicht statisch ist, wird NullReferenceException ausgelöst.

Wenn das angegebene Feld in den Metadaten nicht gefunden werden kann, wird MissingFieldException ausgelöst. Dies wird normalerweise nicht zur Laufzeit überprüft, sondern beim Konvertieren von MSIL (Microsoft Intermediate Language)-Anweisungen in systemeigenen Code.

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

  • ILGenerator.Emit(OpCode, FieldInfo)

.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

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

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft