Udostępnij za pośrednictwem


OpCodes.Leave Pole

Definicja

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 tryelementu , filterlub 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:

Dotyczy