MethodImplAttributes 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 bendera untuk atribut implementasi metode.
Enumerasi ini mendukung kombinasi bitwise dari nilai yang termasuk di dalamnya.
API ini mendukung infrastruktur produk dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.
public enum class MethodImplAttributes
public enum MethodImplAttributes
[System.Flags]
[System.Serializable]
public enum MethodImplAttributes
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum MethodImplAttributes
type MethodImplAttributes =
[<System.Flags>]
[<System.Serializable>]
type MethodImplAttributes =
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type MethodImplAttributes =
Public Enum MethodImplAttributes
- Warisan
- Atribut
Bidang
| Nama | Nilai | Deskripsi |
|---|---|---|
| IL | 0 | Menentukan bahwa implementasi metode dalam bahasa perantara (MSIL) Microsoft. |
| Managed | 0 | Menentukan bahwa metode diimplementasikan dalam kode terkelola. |
| Native | 1 | Menentukan bahwa implementasi metode asli. |
| OPTIL | 2 | Menentukan bahwa implementasi metode berada dalam Optimized Intermediate Language (OPTIL). |
| CodeTypeMask | 3 | Menentukan bendera tentang jenis kode. |
| Runtime | 3 | Menentukan bahwa implementasi metode disediakan oleh runtime. |
| ManagedMask | 4 | Menentukan apakah metode diimplementasikan dalam kode terkelola atau tidak terkelola. |
| Unmanaged | 4 | Menentukan bahwa metode diimplementasikan dalam kode yang tidak dikelola. |
| NoInlining | 8 | Menentukan bahwa metode tidak dapat di-inlin. |
| ForwardRef | 16 | Menentukan bahwa metode tidak ditentukan. |
| Synchronized | 32 | Menentukan bahwa metode berulir tunggal melalui isi. Metode statis ( |
| NoOptimization | 64 | Menentukan bahwa metode tidak dioptimalkan oleh pengkompilasi just-in-time (JIT) atau dengan pembuatan kode asli (lihat Ngen.exe) saat men-debug kemungkinan masalah pembuatan kode. |
| PreserveSig | 128 | Menentukan bahwa tanda tangan metode diekspor persis seperti yang dinyatakan. |
| AggressiveInlining | 256 | Menentukan bahwa metode harus di-inlin sedapat mungkin. |
| AggressiveOptimization | 512 | Menentukan bahwa metode harus dioptimalkan jika memungkinkan. |
| SecurityMitigations | 1024 | Anggota ini dicadangkan untuk digunakan di masa mendatang. Ini diperkenalkan dalam .NET Framework 4.8. |
| InternalCall | 4096 | Menentukan panggilan internal. |
| Async | 8192 | |
| MaxMethodImplVal | 65535 | Menentukan nilai pemeriksaan rentang. |
Keterangan
Atribut digabungkan menggunakan operasi bitwise OR sebagai berikut:
Masker implementasi kode:
CodeTypeMaskILNativeOPTILRuntime
Masker terkelola:
ManagedMaskUnmanagedManaged
Informasi implementasi dan masker interop:
ForwardRefPreserveSigInternalCallSynchronizedNoInliningNoOptimizationMaxMethodImplValSecurityMitigations(Tersedia dimulai dengan .NET Framework 4.8.)
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.