Freigeben über


OpCodes.Leave_S Feld

Definition

Beendet einen geschützten Codebereich, wobei die Steuerung bedingungslos an eine bestimmte Zielanweisung übertragen wird, Kurzform.

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 

Feldwert

Hinweise

In der folgenden Tabelle sind das Hexadezimal- und MSIL-Assemblyformat (Microsoft Intermediate Language) der Anweisung sowie eine kurze Referenzzusammenfassung aufgeführt:

Format Assemblyformat BESCHREIBUNG
DE <int8> leave.s target Beenden Sie einen geschützten Codebereich in kurzer Form.

Für diese Anweisung ist kein Stapelübergangsverhalten angegeben.

Die leave.s -Anweisung überträgt die Steuerung bedingungslos an die übergebene Zielanweisung, die als 1-Byte-Offset vom Anfang der Anweisung nach der aktuellen Anweisung dargestellt wird.

Die leave.s -Anweisung ähnelt der br -Anweisung, kann jedoch verwendet werden, um einen try- filteroder catch -Block zu beenden, während die gewöhnlichen Branchanweisungen nur in einem solchen Block verwendet werden können, um die Steuerung darin zu übertragen. Die leave.s Anweisung leert den Auswertungsstapel und stellt sicher, dass die entsprechenden umgebenden finally Blöcke ausgeführt werden.

Sie können eine leave.s -Anweisung nicht verwenden, um einen finally Block zu beenden. Um die Codegenerierung für Ausnahmehandler zu vereinfachen, ist es gültig, aus einem Catch-Block eine -Anweisung zu verwenden, um das leave.s Steuerelement auf jede Anweisung innerhalb des zugeordneten try Blocks zu übertragen.

Wenn eine Anweisung über einen oder mehrere Präfixcodes verfügt, kann die Steuerung nur auf das erste dieser Präfixe übertragen werden.

Die folgende Emit Methodenüberladung kann den leave.s Opcode verwenden:

Gilt für: