OpCodes.Leave Campo

Definizione

Esce da un'area protetta di codice, trasferendo in modo incondizionato il controllo a un'istruzione di destinazione specifica.

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 

Valore del campo

Commenti

La tabella seguente elenca il formato di assembly MSIL (Intermediate Language) esadecimale e Microsoft istruzione, insieme a un breve riepilogo di riferimento:

Formato Formato assembly Description
DD <int32> Lasciare target Esce da un'area protetta di codice.

Non è specificato alcun comportamento di transizione dello stack per questa istruzione.

L'istruzione leave trasferisce in modo incondizionato il controllo all'istruzione di destinazione specifica, rappresentata come offset con segno a 4 byte dall'inizio dell'istruzione che segue l'istruzione corrente.

L'istruzione leave è simile all'istruzione br , ma può essere usata per uscire da un tryblocco , filtero , mentre catch le normali istruzioni del ramo possono essere usate solo in un blocco di questo tipo per trasferire il controllo al suo interno. L'istruzione leave svuota lo stack di valutazione e garantisce che vengano eseguiti i blocchi circostanti finally appropriati.

Non è possibile usare un'istruzione leave per uscire da un finally blocco. Per semplificare la generazione del codice per i gestori di eccezioni, è valido dall'interno di un blocco catch per usare un'istruzione leave per trasferire il controllo a qualsiasi istruzione all'interno del blocco associato try .

Se un'istruzione ha uno o più codici di prefisso, il controllo può essere trasferito solo al primo di questi prefissi.

Gli overload del metodo seguenti Emit possono usare il leave codice operativo:

Si applica a