OpCodes.Mkrefany Fält

Definition

Skickar en skriven referens till en instans av en viss typ till utvärderingsstacken.

public: static initonly System::Reflection::Emit::OpCode Mkrefany;
public static readonly System.Reflection.Emit.OpCode Mkrefany;
 staticval mutable Mkrefany : System.Reflection.Emit.OpCode
Public Shared ReadOnly Mkrefany 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
C6 <T> mkrefany class Skickar en typtypreferens class till stacken.

Stackens övergångsbeteende i sekventiell ordning är:

  1. En pekare till datastycket skickas till stacken.

  2. Pekaren poppas och konverteras till en typ av referens av typen class.

  3. Den inskrivna referensen skickas till stacken.

Instruktionen mkrefany stöder överföring av dynamiskt inskrivna referenser. Pekaren måste vara av typen &, *eller native intoch innehålla den giltiga adressen för en datadel. Class är klasstoken som beskriver vilken typ av data som pekaren refererar till. Mkrefany push-överför en skriven referens på stacken, vilket ger en ogenomskinlig beskrivning av pekaren och typen class.

Den enda giltiga åtgärden som tillåts vid en typbaserad referens är att skicka den till en metod som kräver en typbaserad referens som en parameter. Anropare kan sedan använda Refanytype instruktionerna och Refanyval för att hämta typen (klassen) respektive adressen.

TypeLoadException utlöses om class det inte går att hitta. Detta identifieras vanligtvis när instruktioner för 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 mkrefany opcode:

Gäller för