OpCodes.Ldobj Fält

Definition

Kopierar värdetypsobjektet som pekas på av en adress överst i utvärderingsstacken.

public: static initonly System::Reflection::Emit::OpCode Ldobj;
public static readonly System.Reflection.Emit.OpCode Ldobj;
 staticval mutable Ldobj : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldobj 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
71 <T> ldobj class Kopiera instansen av värdetypen class till stacken.

Stackens övergångsbeteende i sekventiell ordning är:

  1. Adressen till ett värdetypsobjekt skickas till stacken.

  2. Adressen poppas från stacken och instansen på den specifika adressen har sökts upp.

  3. Värdet för objektet som lagras på den adressen skickas till stacken.

Instruktionen ldobj används för att skicka en värdetyp som en parameter.

Instruktionen ldobj kopierar värdet som pekar på addrOfValObj (av typen &, *, eller native int) överst i stacken. Antalet byte som kopieras beror på klassens storlek (enligt parametern class ). Parametern class är en metadatatoken som representerar värdetypen.

Instruktionens ldobj funktion kan ändras genom en direkt föregående Volatile instruktion eller Unaligned prefixinstruktion.

TypeLoadException genereras om det inte går att hitta klassen. Detta identifieras vanligtvis när instruktionen Microsoft mellanliggande språk (MSIL) konverteras till intern kod i stället för vid körning.

Följande Emit metodöverlagring kan använda ldobj opcode:

Gäller för