OpCodes.Ldflda Veld
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee zoekt u het adres van een veld in het object waarvan de verwijzing zich momenteel op de evaluatiestack bevindt.
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
Waarde van veld
Opmerkingen
De volgende tabel bevat de hexadecimale en Microsoft MSIL-assembly-indeling (Tussenliggende taal), samen met een beknopt overzicht:
| Format | Assembly-indeling | Description |
|---|---|---|
7C <T> |
ldflda field |
Pusht het adres van field in een opgegeven object naar de stapel. |
Het overgangsgedrag van de stack, in opeenvolgende volgorde, is:
Een objectverwijzing (of aanwijzer) wordt naar de stapel gepusht.
De objectverwijzing (of aanwijzer) wordt uit de stapel gepopt; het adres van het opgegeven veld in het object wordt gevonden.
Het adres van het opgegeven veld wordt naar de stack gepusht.
Met ldflda de instructie wordt het adres van een veld in een object naar de stapel gepusht. Het object moet zich op de stack bevinden als objectverwijzing (type O), een beheerde aanwijzer (type &), een niet-beheerde aanwijzer (type native int), een tijdelijke aanwijzer (type *) of een exemplaar van een waardetype. Het gebruik van een onbeheerde aanwijzer is niet toegestaan in verifieerbare code. Het veld van het object wordt opgegeven door een metagegevenstoken dat moet verwijzen naar een veldlid.
De geretourneerde waarde ldflda is een beheerde aanwijzer (type &) tenzij het object als een niet-beheerde aanwijzer naar de stack wordt gepusht, in welk geval het retouradres ook een onbeheerde aanwijzer (type native int) is.
De ldflda instructie kan worden voorafgegaan door een van de Unaligned of beide en Volatile voorvoegsels.
InvalidOperationException wordt gegenereerd als het object zich niet in het toepassingsdomein bevindt waaruit het wordt geopend. Het adres van een veld dat zich niet in het toegangsdomein van de toepassing bevindt, kan niet worden geladen.
NullReferenceException wordt gegenereerd als het object null is en het veld niet statisch is.
MissingFieldException wordt gegenereerd als het opgegeven veld niet wordt gevonden in de metagegevens. Dit wordt meestal gecontroleerd wanneer Microsoft MSIL-instructies (Intermediate Language) worden geconverteerd naar systeemeigen code, niet tijdens runtime.
De volgende Emit overbelasting van de methode kan de ldflda opcode gebruiken: