OpCodes.Leave Campo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Esce da un'area protetta di codice, trasferendo il controllo in modo incondizionato 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 dell'assembly esadecimale e Microsoft Intermediate Language (MSIL), insieme a un breve riepilogo di riferimento:
Formato | Formato assembly | Descrizione |
---|---|---|
DD <int32 > |
Lasciare target |
Chiude 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 firmato da 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 try
blocco , filter
o , catch
mentre le istruzioni di ramo normale possono essere usate solo in un blocco di questo tipo per trasferire il controllo all'interno di esso. 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 di codice per i gestori di eccezioni, è valida 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 opcode: