OpCodes.Leave Pole
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zamyka chroniony region kodu, bezwarunkowo przesyła kontrolkę do określonej instrukcji docelowej.
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
Wartość pola
Uwagi
W poniższej tabeli wymieniono format zestawu szesnastkowy i microsoft intermediate language (MSIL) instrukcji wraz z krótkim podsumowaniem referencyjnym:
Format | Format zestawu | Opis |
---|---|---|
DD <int32 > |
Pozostawić target |
Zamyka chroniony region kodu. |
Nie określono zachowania przenoszenia stosu dla tej instrukcji.
leave
Instrukcja bezwarunkowo przenosi kontrolę do określonej instrukcji docelowej, reprezentowanej jako 4-bajtowy podpisany przesunięcie od początku instrukcji zgodnie z bieżącą instrukcją.
Instrukcja jest podobna leave
do br
instrukcji, ale może służyć do zamykania try
elementu , filter
lub catch
bloku, podczas gdy zwykłe instrukcje gałęzi mogą być używane tylko w takim bloku, aby przenieść w nim kontrolę. Instrukcja leave
opróżnia stos oceny i zapewnia wykonanie odpowiednich bloków otaczających finally
.
Nie można użyć leave
instrukcji, aby zamknąć finally
blok. Aby ułatwić generowanie kodu dla procedur obsługi wyjątków, prawidłowe jest użycie instrukcji w celu leave
przeniesienia kontrolki do dowolnej instrukcji w skojarzonym try
bloku.
Jeśli instrukcja zawiera co najmniej jeden kod prefiksu, kontrolka może zostać przeniesiona tylko do pierwszego z tych prefiksów.
Następujące Emit przeciążenia metody mogą używać leave
kodu opcode: