OpCodes.Leave Champ

Définition

Quitte une région protégée de code, transférant sans condition le contrôle vers une instruction cible spécifique.

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 

Valeur de champ

Remarques

Le tableau suivant répertorie le format d'assembly MSIL (Hexadécimal et Microsoft Intermediate Language) de l'instruction, ainsi qu'un bref résumé de référence :

Format Format d’assembly Description
DD <int32> Laisser target Quitte une région protégée de code.

Il n’existe aucun comportement de transition de pile spécifié pour cette instruction.

L’instruction leave transfère inconditionnellement le contrôle à l’instruction cible spécifique, représentée sous la forme d’un décalage signé de 4 octets à partir du début de l’instruction suivant l’instruction actuelle.

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

Vous ne pouvez pas utiliser d’instruction leave 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 pour utiliser une instruction pour transférer le leave contrôle vers n’importe quelle instruction dans le bloc associé try .

Si une instruction a un ou plusieurs codes de préfixe, le contrôle ne peut être transféré qu’à la première de ces préfixes.

Les surcharges de méthode suivantes Emit peuvent utiliser le leave code opcode :

S’applique à