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 przenosząc kontrolę 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 żadnego zachowania przejścia stosu dla tej instrukcji.
Instrukcja leave bezwarunkowo przenosi kontrolę do konkretnej instrukcji docelowej, reprezentowanej jako przesunięcie podpisane 4 bajtów od początku instrukcji zgodnie z bieżącą instrukcją.
Instrukcja leave jest podobna do br instrukcji, ale może służyć do zamykania try, filterlub catch bloku, podczas gdy zwykłe instrukcje gałęzi mogą być używane tylko w takim bloku do przesyłania kontroli wewnątrz. Instrukcja leave opróżnia stos oceny i zapewnia wykonanie odpowiednich bloków otaczających finally .
Nie można użyć leave instrukcji w celu zamknięcia finally bloku. Aby ułatwić generowanie kodu dla procedur obsługi wyjątków, ważne jest z poziomu bloku catch, aby użyć leave instrukcji w celu przeniesienia kontroli do dowolnej instrukcji w skojarzonym try bloku.
Jeśli instrukcja zawiera co najmniej jeden kod prefiksu, kontrolkę można przenieść tylko do pierwszego z tych prefiksów.
Emit Następujące przeciążenia metody mogą używać leave kodu opcode: