Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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)
Syntax
'Declaration
Public Shared ReadOnly Ldfld As OpCode
'Usage
Dim value As OpCode
value = OpCodes.Ldfld
public static readonly OpCode Ldfld
public:
static initonly OpCode Ldfld
public static final OpCode Ldfld
public static final var Ldfld : 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 |
|---|---|---|
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:
Ein Objektverweis (oder Zeiger) wird auf dem Stapel abgelegt.
Der Objektverweis (oder Zeiger) wird vom Stapel geholt, und der Wert des angegebenen Felds im Objekt wird ermittelt.
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 natural 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)
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