Comparteix a través de


OpCodes.Leave_S Campo

Definición

Sale de una región de código protegida y transfiere el control incondicionalmente a una instrucción máquina de destino (forma corta).

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 

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
DE <int8> leave.s target Salga de una región protegida de código, formato corto.

No hay ningún comportamiento de transición de pila especificado para esta instrucción.

La leave.s instrucción transfiere incondicionalmente el control a la instrucción de destino pasada, representada como un desplazamiento con signo de 1 byte desde el principio de la instrucción después de la instrucción actual.

La leave.s instrucción es similar a la br instrucción , pero se puede usar para salir de un trybloque , filtero , mientras catch que las instrucciones de rama normal solo se pueden usar en este bloque para transferir el control dentro de ella. La leave.s instrucción vacía la pila de evaluación y garantiza que se ejecuten los bloques circundantes finally adecuados.

No puede usar una leave.s 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.s 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.

La sobrecarga del método siguiente Emit puede usar el leave.s código de operación:

Se aplica a