Bagikan melalui


OpCodes.Leave Bidang

Definisi

Keluar dari wilayah kode yang dilindungi, mentransfer kontrol tanpa syarat ke instruksi target tertentu.

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 

Nilai Bidang

Keterangan

Tabel berikut mencantumkan format rakitan heksadesimal dan Microsoft Intermediate Language (MSIL) instruksi, bersama dengan ringkasan referensi singkat:

Format Format Rakitan Deskripsi
DD <int32> Meninggalkan target Keluar dari wilayah kode yang dilindungi.

Tidak ada perilaku transisi tumpukan yang ditentukan untuk instruksi ini.

leave Instruksi secara tanpa syarat mentransfer kontrol ke instruksi target tertentu, direpresentasikan sebagai offset yang ditandatangani 4 byte dari awal instruksi mengikuti instruksi saat ini.

leave Instruksinya mirip br dengan instruksi, tetapi dapat digunakan untuk keluar trydari blok , , filteratau catch sedangkan instruksi cabang biasa hanya dapat digunakan dalam blok seperti itu untuk mentransfer kontrol di dalamnya. Instruksi ini leave mengosokkan tumpukan evaluasi dan memastikan bahwa blok sekitar finally yang sesuai dijalankan.

Anda tidak dapat menggunakan leave instruksi untuk keluar dari finally blok. Untuk memudahkan pembuatan kode untuk penangan pengecualian, valid dari dalam blok tangkapan untuk menggunakan leave instruksi untuk mentransfer kontrol ke instruksi apa pun dalam blok terkait try .

Jika instruksi memiliki satu atau beberapa kode awalan, kontrol hanya dapat ditransfer ke awalan pertama ini.

Metode overload berikut Emit dapat menggunakan leave opcode:

Berlaku untuk