OpCodes.Leave Feld
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Beendet einen geschützten Codebereich, wobei die Steuerung bedingungslos an eine bestimmte Zielanweisung übertragen wird.
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
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 |
---|---|---|
DD <int32 > |
Verlassen target |
Beendet einen geschützten Codebereich. |
Für diese Anweisung ist kein Stapelübergangsverhalten angegeben.
Die leave
-Anweisung überträgt die Steuerung bedingungslos an die spezifische Zielanweisung, die als 4-Byte-Offset vom Anfang der Anweisung nach der aktuellen Anweisung dargestellt wird.
Die leave
-Anweisung ähnelt der br
-Anweisung, kann jedoch verwendet werden, um einen try
- filter
oder 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
Anweisung leert den Auswertungsstapel und stellt sicher, dass die entsprechenden umgebenden finally
Blöcke ausgeführt werden.
Sie können eine leave
-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
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 folgenden Emit Methodenüberladungen können den leave
Opcode verwenden: