OpCodes.Leave Campo
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sale de una región de código protegida y transfiere el control incondicionalmente a una instrucción máquina de destino específica.
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
Valor de campo
Comentarios
En la tabla siguiente se muestra el formato de ensamblado hexadecimal y lenguaje intermedio de Microsoft (MSIL), junto con un breve resumen de referencia:
Formato | Formato de ensamblado | Descripción |
---|---|---|
DD <int32 > |
Salir target |
Sale de una región protegida de código. |
No hay ningún comportamiento de transición de pila especificado para esta instrucción.
La leave
instrucción transfiere incondicionalmente el control a la instrucción de destino específica, representada como un desplazamiento con signo de 4 bytes desde el principio de la instrucción después de la instrucción actual.
La leave
instrucción es similar a la br
instrucción , pero se puede usar para salir de un try
bloque , filter
o , mientras catch
que las instrucciones de rama normal solo se pueden usar en este bloque para transferir el control dentro de ella. La leave
instrucción vacía la pila de evaluación y garantiza que se ejecuten los bloques circundantes finally
adecuados.
No puede usar una leave
instrucción para salir de un finally
bloque. Para facilitar la generación de código para los controladores de excepciones, es válido desde dentro de un bloque catch para usar una leave
instrucción para transferir el control a cualquier instrucción dentro del bloque asociado try
.
Si una instrucción tiene uno o varios códigos de prefijo, el control solo se puede transferir al primero de estos prefijos.
Las sobrecargas de método siguientes Emit pueden usar el leave
código de operación: