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řevede kontrolu 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í šestnáctkový formát sestavení jazyka MSIL (Intermediate Language) a Microsoft s stručným přehledem 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řenese kontrolu na konkrétní cílovou instrukci reprezentovanou jako posun se 4 bajty od začátku instrukce následující po aktuální instrukci.
Instrukce leave je podobná pokynu br , ale lze jej použít k ukončení try, filternebo catch bloku, zatímco běžné větev instrukce lze použít pouze v takovém bloku k přenosu řízení uvnitř. Instrukce leave vyprázdní zásobník vyhodnocení a zajistí, že se spustí příslušné okolní finally bloky.
K ukončení leave bloku nelze použít finally pokyn. Aby se usnadnilo generování kódu pro obslužné rutiny výjimek, je platné z bloku catch, aby se použila leave instrukce k přenosu řízení na všechny instrukce v přidruženém 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 může použít leave opcode: