OpCodes.Leave Pole

Definicja

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:

Dotyczy