Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

OpCodes.Ldfld-Feld

 

Veröffentlicht: Oktober 2016

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

Die folgende Tabelle enthält die hexadezimale und das Assemblyformat der Microsoft Intermediate Language (MSIL) sowie eine kurze Referenz-Zusammenfassung:

Format

Assemblyformat

Beschreibung

7 B < T >

ldfld field

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

Im Stapel laufen, ist in der angegebenen Reihenfolge:

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

  2. Der Objektverweis (oder Zeiger) wird vom Stapel geholt. der Wert des angegebenen Felds in dem Objekt gefunden wird.

  3. In das Feld gespeicherte Wert wird auf dem Stapel abgelegt.

Die ldfld -Anweisung legt den Wert eines Felds in einem Objekt im Stapel befinden. Das Objekt muss auf dem Stapel als Objektverweis (Typ O), ein verwalteter Zeiger (Typ &), einen nicht verwalteten Zeiger (Typ native int), flüchtiger Zeiger (Typ *), oder eine Instanz eines Werttyps. Die Verwendung eines nicht verwalteten Zeigers ist in überprüfbarem Code nicht zulässig. Das Feld des Objekts wird durch ein Metadatentoken angegeben, die auf ein Feld Element verweisen muss. Der Rückgabetyp ist identisch mit dem Feld zugeordnet. Das Feld kann ein Instanzfeld (in diesem Fall das Objekt kein null-Verweis sein muss) oder ein statisches Feld sein.

Die ldfld Anweisung kann vorangestellt werden eine oder beide der Unaligned und Volatile Präfixe.

NullReferenceException wird ausgelöst, wenn das Objekt null ist und das Feld nicht statisch ist.

MissingFieldException wird ausgelöst, wenn das angegebene Feld in den Metadaten nicht gefunden wird. Dies wird in der Regel überprüft, wenn Microsoft Intermediate Language (MSIL)-Anweisungen nicht zur Laufzeit in systemeigenen Code konvertiert werden.

Die folgenden Emit können Sie eine Überladung der ldfld Opcode:

  • ILGenerator.Emit (OpCode, FieldInfo)

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.1
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: