OpCodes.Ldflda Fält
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hittar adressen till ett fält i objektet vars referens för närvarande finns i utvärderingsstacken.
public: static initonly System::Reflection::Emit::OpCode Ldflda;
public static readonly System.Reflection.Emit.OpCode Ldflda;
staticval mutable Ldflda : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldflda As OpCode
Fältvärde
Kommentarer
I följande tabell visas instruktionens sammansättningsformat för hexadecimalt och Microsoft mellanliggande språk (MSIL), tillsammans med en kort referenssammanfattning:
| Format | Sammansättningsformat | Description |
|---|---|---|
7C <T> |
ldflda field |
Push-överför adressen field för i ett angivet objekt till stacken. |
Stackens övergångsbeteende i sekventiell ordning är:
En objektreferens (eller pekare) skickas till stacken.
Objektreferensen (eller pekaren) visas från stacken. adressen till det angivna fältet i objektet hittas.
Adressen för det angivna fältet skickas till stacken.
Instruktionen ldflda skickar adressen till ett fält som finns i ett objekt till stacken. Objektet måste finnas på stacken som en objektreferens (typ O), en hanterad pekare (typ &), en ohanterad pekare (typ native int), en tillfällig pekare (typ *) eller en instans av en värdetyp. Användning av en ohanterad pekare tillåts inte i verifierbar kod. Objektets fält anges av en metadatatoken som måste referera till en fältmedlem.
Värdet som returneras av ldflda är en hanterad pekare (typ &) om inte objektet skickas till stacken som en ohanterad pekare, i vilket fall returadressen också är en ohanterad pekare (typ native int).
Instruktionen ldflda kan föregås av antingen eller båda prefixen Unaligned och Volatile .
InvalidOperationException genereras om objektet inte finns i programdomänen som det används från. Det går inte att läsa in adressen för ett fält som inte finns i programdomänen som kommer åt.
NullReferenceException genereras om objektet är null och fältet inte är statiskt.
MissingFieldException genereras om det angivna fältet inte hittas i metadata. Detta kontrolleras vanligtvis när instruktioner för Microsoft mellanliggande språk (MSIL) konverteras till intern kod, inte vid körning.
Följande Emit metodöverlagring kan använda ldflda opcode: