OpCodes.Leave Pole
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Ukončí chráněnou oblast kódu a bezpodmínečně přenese řízení na konkrétní cílovou instrukci.
public: static initonly System::Reflection::Emit::OpCode Leave;
public static readonly System.Reflection.Emit.OpCode Leave;
staticval mutable Leave : System.Reflection.Emit.OpCode
Public Shared ReadOnly Leave 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 |
---|---|---|
DD <int32 > |
Opustit target |
Ukončí chráněnou oblast kódu. |
Pro tuto instrukci není zadané žádné chování přechodu zásobníku.
Instrukce leave
bezpodmínečně přenáší kontrolu na konkrétní cílovou instrukci, reprezentovanou jako 4-bajtový podepsaný posun od začátku instrukce za aktuální instrukcí.
Instrukce leave
je podobná pokynu br
, ale lze ji použít k ukončení try
bloku , filter
nebo catch
, zatímco běžné instrukce větve lze použít pouze v takovém bloku k přenosu řízení v něm. Instrukce leave
vyprázdní zásobník vyhodnocení a zajistí, že se spustí příslušné okolní finally
bloky.
K ukončení finally
bloku nelze použít leave
instrukce. Pro usnadnění generování kódu pro obslužné rutiny výjimek je platné z bloku catch použít leave
instrukce k přenosu řízení na jakékoli instrukce v rámci přidruženého try
bloku.
Pokud má instrukce jeden nebo více kódů předpon, lze ovládací prvek přenést pouze na první z těchto předpon.
Následující Emit přetížení metody mohou použít leave
opcode: