Sdílet prostřednictvím


OpCodes.Mkrefany Pole

Definice

Nasdílí typový odkaz na instanci určitého typu do zásobníku vyhodnocení.

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 

Hodnota pole

Poznámky

Následující tabulka uvádí šestnáctkový formát sestavení instrukce a formát sestavení MSIL (Microsoft Intermediate Language) spolu se stručným přehledem referencí:

Formát Formát sestavení Description
C6 <T> mkrefany class Nasdílí typový odkaz typu class do zásobníku.

Přechodné chování zásobníku v sekvenčním pořadí je:

  1. Ukazatel na část dat se vloží do zásobníku.

  2. Ukazatel se zobrazí a převede na typovaný odkaz typu class.

  3. Typový odkaz se nasdílí do zásobníku.

Instrukce mkrefany podporuje předávání dynamicky typovaných odkazů. Ukazatel musí být typu &, *nebo native inta musí obsahovat platnou adresu části dat. Class je token třídy popisující typ dat odkazovaných ukazatelem. Mkrefany nasdílí typový odkaz do zásobníku a poskytne neprůsažný popisovač ukazatele a typu class.

Jedinou platnou operací povolenou pro typový odkaz je předání do metody, která vyžaduje typový odkaz jako parametr. Volaný pak může pomocí Refanytype pokynů a Refanyval načíst typ (třídu) a adresu v uvedeném pořadí.

TypeLoadException vyvolá se, pokud class ho nelze najít. To se obvykle zjistí, když jsou instrukce jazyka MSIL (Microsoft Intermediate Language) převedeny na nativní kód místo za běhu.

Následující Emit přetížení metody může použít mkrefany opcode:

Platí pro