Partager via


OpCodes.Leave_S Champ

Définition

Quitte une région de code protégée, en transférant le contrôle à une instruction cible (forme abrégée) de manière non conditionnelle.

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 

Valeur de champ

Remarques

Le tableau suivant répertorie le format d’assembly MSIL et hexadécimal de l’instruction, ainsi qu’un bref résumé des références :

Format Format d’assembly Description
DE <int8> leave.s target Quittez une région protégée de code, sous forme abrégée.

Aucun comportement de transition de pile n’est spécifié pour cette instruction.

L’instruction leave.s transfère inconditionnellement le contrôle vers l’instruction cible passée, représentée sous la forme d’un décalage signé de 1 octet à partir du début de l’instruction qui suit l’instruction actuelle.

L’instruction leave.s est similaire à l’instruction br , mais elle peut être utilisée pour quitter un trybloc , filterou catch alors que les instructions de branche ordinaires ne peuvent être utilisées dans un tel bloc que pour transférer le contrôle en son sein. L’instruction leave.s vide la pile d’évaluation et garantit que les blocs environnants finally appropriés sont exécutés.

Vous ne pouvez pas utiliser une leave.s instruction pour quitter un finally bloc. Pour faciliter la génération de code pour les gestionnaires d’exceptions, il est valide à partir d’un bloc catch d’utiliser une instruction pour transférer le leave.s contrôle vers n’importe quelle instruction du bloc associé try .

Si une instruction a un ou plusieurs codes de préfixe, le contrôle ne peut être transféré que vers le premier de ces préfixes.

La surcharge de méthode suivante Emit peut utiliser l’opcode leave.s :

S’applique à