MethodImplOptions Enum
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan konstanta yang menentukan detail bagaimana metode diimplementasikan.
Enumerasi ini mendukung kombinasi bitwise dari nilai yang termasuk di dalamnya.
public enum class MethodImplOptions
[System.Flags]
public enum MethodImplOptions
[System.Flags]
[System.Serializable]
public enum MethodImplOptions
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum MethodImplOptions
[<System.Flags>]
type MethodImplOptions =
[<System.Flags>]
[<System.Serializable>]
type MethodImplOptions =
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type MethodImplOptions =
Public Enum MethodImplOptions
- Warisan
- Atribut
Bidang
| Nama | Nilai | Deskripsi |
|---|---|---|
| Unmanaged | 4 | Metode ini diimplementasikan dalam kode yang tidak dikelola. |
| NoInlining | 8 | Metode tidak dapat di-inlin. Inlining adalah pengoptimalan di mana panggilan metode diganti dengan isi metode. |
| ForwardRef | 16 | Metode ini dinyatakan, tetapi implementasinya disediakan di tempat lain. |
| Synchronized | 32 | Metode ini hanya dapat dijalankan oleh satu utas pada satu waktu. Metode statis mengunci jenis, sedangkan metode instans mengunci instans. Hanya satu utas yang dapat dijalankan di salah satu fungsi instans, dan hanya satu utas yang dapat dijalankan di salah satu fungsi statis kelas. |
| NoOptimization | 64 | Metode ini tidak dioptimalkan oleh kompilator just-in-time (JIT) atau dengan pembuatan kode asli (lihat Ngen.exe) saat men-debug kemungkinan masalah pembuatan kode. |
| PreserveSig | 128 | Tanda tangan metode diekspor persis seperti yang dinyatakan. |
| AggressiveInlining | 256 | Metode harus di-inlin jika memungkinkan. Penggunaan atribut ini yang tidak perlu dapat mengurangi performa. Atribut dapat menyebabkan batas implementasi ditemui yang akan mengakibatkan kode yang dihasilkan lebih lambat. Selalu ukur performa untuk memastikan sangat membantu untuk menerapkan atribut ini. |
| SecurityMitigations | 1024 | Anggota ini dicadangkan untuk digunakan di masa mendatang. Ini diperkenalkan dalam .NET Framework 4.8. |
| InternalCall | 4096 | Panggilan bersifat internal, yaitu memanggil metode yang diimplementasikan dalam runtime bahasa umum. |
Keterangan
Enumerasi ini digunakan dengan MethodImplAttribute atribut .
Anda dapat menentukan beberapa MethodImplOptions nilai dengan menggunakan operator BITWISE OR.
Note
Mengunci instans atau pada jenis, seperti halnya Synchronized bendera, tidak disarankan untuk jenis publik, karena kode selain milik Anda dapat mengambil kunci pada jenis dan instans publik. Ini dapat menyebabkan kebuntuan atau masalah sinkronisasi lainnya.