OpCodes.Leave_S Fält

Definition

Avslutar en skyddad kodregion och överför ovillkorligt kontrollen till en målinstruktion (kort formulär).

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 

Fältvärde

Kommentarer

I följande tabell visas instruktionens sammansättningsformat för hexadecimalt och Microsoft mellanliggande språk (MSIL), tillsammans med en kort referenssammanfattning:

Format Sammansättningsformat Description
DE <int8> leave.s target Avsluta en skyddad region med kod, kort formulär.

Inget stackövergångsbeteende har angetts för den här instruktionen.

Instruktionen leave.s överför villkorslöst kontrollen till den skickade målinstruktionen, som representeras som en signerad förskjutning på 1 byte från början av instruktionen efter den aktuella instruktionen.

Instruktionen leave.s liknar instruktionen br , men den kan användas för att avsluta ett try, filter, eller catch -block, medan vanliga greninstruktioner endast kan användas i ett sådant block för att överföra kontrollen inom den. Instruktionen leave.s tömmer utvärderingsstacken och säkerställer att lämpliga omgivande finally block körs.

Du kan inte använda en leave.s instruktion för att avsluta ett finally block. För att underlätta kodgenerering för undantagshanterare är det giltigt inifrån ett catch-block att använda en leave.s instruktion för att överföra kontroll till alla instruktioner i det associerade try blocket.

Om en instruktion har en eller flera prefixkoder kan kontrollen bara överföras till det första av dessa prefix.

Följande Emit metodöverlagring kan använda leave.s opcode:

Gäller för