OpCodes.Leave_S Campo

Definizione

Esce da un'area protetta di codice, trasferendo il controllo in modo incondizionato a un'istruzione di destinazione (forma breve).

public: static initonly System::Reflection::Emit::OpCode Leave_S;
public static readonly System.Reflection.Emit.OpCode Leave_S;
 staticval mutable Leave_S : System.Reflection.Emit.OpCode
Public Shared ReadOnly Leave_S As OpCode 

Valore del campo

Commenti

La tabella seguente elenca il formato di assembly Esadecimale e MSIL (Microsoft Intermediate Language), insieme a un breve riepilogo dei riferimenti:

Formato Formato assembly Descrizione
DE <int8> leave.s target Uscire da un'area protetta di codice, forma breve.

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

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

L'istruzione leave.s è 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 all'interno di esso. L'istruzione leave.s svuota lo stack di valutazione e garantisce che vengano eseguiti i blocchi circostanti finally appropriati.

Non è possibile usare un'istruzione leave.s per uscire da un finally blocco. Per semplificare la generazione di codice per i gestori di eccezioni, è valido dall'interno di un blocco catch per usare un'istruzione leave.s 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.

L'overload del metodo seguente Emit può usare il leave.s codice operativo:

Si applica a