Sdílet prostřednictvím


OpCodes.Stloc Pole

Definice

Otevře aktuální hodnotu z horní části zásobníku vyhodnocení a uloží ji do seznamu místních proměnných v zadaném indexu.

public: static initonly System::Reflection::Emit::OpCode Stloc;
public static readonly System.Reflection.Emit.OpCode Stloc;
 staticval mutable Stloc : System.Reflection.Emit.OpCode
Public Shared ReadOnly Stloc As OpCode 

Hodnota pole

Poznámky

Následující tabulka uvádí hexadecimální formát sestavení instrukce a formát sestavení MSIL (Microsoft Intermediate Language) spolu se stručným souhrnem referenčních informací:

Formát Formát sestavení Description
FE 0E <unsigned int16> stloc index Otevře hodnotu ze zásobníku a uloží ji do místní proměnné index.

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

  1. Ze zásobníku se zobrazí hodnota a umístí se do místní proměnné index.

Instrukce stloc vyskočí horní hodnotu ze zásobníku vyhodnocení a přesune ji do čísla indexmístní proměnné , kde místní proměnné jsou očíslovány 0 a vyšší. Typ hodnoty musí odpovídat typu místní proměnné, jak je uvedeno v místním podpisu aktuální metody.

Uložení do místních prostředí, která obsahují celočíselnou hodnotu menší než 4 bajty, zkracuje hodnotu při přesunu ze zásobníku na místní proměnnou. Hodnoty s plovoucí desetinou čárkou se zaokrouhlují z jejich nativní velikosti (typu F) na velikost přidruženou k argumentu.

Správné pokyny jazyka MSIL (Microsoft Intermediate Language) vyžadují, aby index byl platný místní index. stloc Pro instrukce index musí být v rozsahu 0 až 65534 včetně (konkrétně 65535 není platný). Důvod vyloučení 65535 je pragmatičtější: pravděpodobné implementace budou používat 2 bajtové celé číslo ke sledování místního indexu i celkového počtu místních hodnot pro danou metodu. Pokud by byl index 65535 platný, vyžadovalo by širší celé číslo ke sledování počtu místních hodnot v takové metodě.

Následující Emit přetížení metody mohou použít stloc opcode:

Platí pro