Bagikan melalui


MethodImplOptions Enum

Definisi

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
MethodImplOptions
Atribut

Bidang

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.

AggressiveOptimization 512

Metode ini berisi kode yang harus selalu dioptimalkan untuk performa.

Jarang tepat untuk menggunakan atribut ini. Metode yang menerapkan atribut ini melewati tingkat pertama kompilasi berjenjang dan karenanya tidak mendapat manfaat dari pengoptimalan yang bergantung pada kompilasi berjenjang. Pengoptimalan tersebut termasuk PGO dinamis dan pengoptimalan berdasarkan kelas yang diinisialisasi. Penggunaan atribut ini juga dapat meningkatkan penggunaan memori. Selalu ukur performa untuk memastikan sangat membantu untuk menerapkan atribut ini.

ForwardRef 16

Metode ini dinyatakan, tetapi implementasinya disediakan di tempat lain.

InternalCall 4096

Panggilan bersifat internal, yaitu memanggil metode yang diimplementasikan dalam runtime bahasa umum.

NoInlining 8

Metode tidak dapat di-inlin. Inlining adalah pengoptimalan di mana panggilan metode diganti dengan isi metode.

NoOptimization 64

Metode ini 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

Tanda tangan metode diekspor persis seperti yang dinyatakan.

SecurityMitigations 1024

Anggota ini dicadangkan untuk digunakan di masa mendatang. Ini diperkenalkan dalam .NET Framework 4.8.

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 dalam salah satu fungsi statis kelas.

Unmanaged 4

Metode ini diimplementasikan dalam kode yang tidak dikelola.

Keterangan

Enumerasi ini digunakan dengan MethodImplAttribute atribut .

Anda dapat menentukan beberapa MethodImplOptions nilai dengan menggunakan operator OR bitwise.

Catatan

Mengunci instans atau pada jenis, seperti halnya Synchronized bendera, tidak disarankan untuk jenis publik, karena kode selain milik Anda sendiri dapat mengunci jenis dan instans publik. Ini dapat menyebabkan kebuntuan atau masalah sinkronisasi lainnya.

Berlaku untuk