Sdílet prostřednictvím


OpCodes.Leave Pole

Definice

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í trybloku , filternebo 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:

Platí pro