MethodImplAttributes Enum

Definisi

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

Bidang

AggressiveInlining 256

Menentukan bahwa metode harus di-inlin sedapat mungkin.

AggressiveOptimization 512

Menentukan bahwa metode harus dioptimalkan jika memungkinkan.

CodeTypeMask 3

Menentukan bendera tentang jenis kode.

ForwardRef 16

Menentukan bahwa metode tidak ditentukan.

IL 0

Menentukan bahwa implementasi metode berada dalam bahasa perantara Microsoft (MSIL).

InternalCall 4096

Menentukan panggilan internal.

Managed 0

Menentukan bahwa metode diimplementasikan dalam kode terkelola.

ManagedMask 4

Menentukan apakah metode diimplementasikan dalam kode terkelola atau tidak terkelola.

MaxMethodImplVal 65535

Menentukan nilai pemeriksaan rentang.

Native 1

Menentukan bahwa implementasi metode adalah asli.

NoInlining 8

Menentukan bahwa metode tidak dapat digarisbawahi.

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.

OPTIL 2

Menentukan bahwa implementasi metode dalam Optimized Intermediate Language (OPTIL).

PreserveSig 128

Menentukan bahwa tanda tangan metode diekspor persis seperti yang dinyatakan.

Runtime 3

Menentukan bahwa implementasi metode disediakan oleh runtime.

SecurityMitigations 1024

Anggota ini dicadangkan untuk digunakan di masa mendatang. Diperkenalkan pada .NET Framework 4.8.

Synchronized 32

Menentukan bahwa metode berulir tunggal melalui isi. Metode statis (Shared di Visual Basic) mengunci jenis , sedangkan metode instans mengunci instans. Anda juga dapat menggunakan pernyataan kunci C# atau pernyataan Visual Basic SyncLock untuk tujuan ini.

Unmanaged 4

Menentukan bahwa metode diimplementasikan dalam kode yang tidak dikelola.

Keterangan

Atribut digabungkan menggunakan operasi bitwise OR sebagai berikut:

Masker implementasi kode:

  • CodeTypeMask

  • IL

  • Native

  • OPTIL

  • Runtime

Masker terkelola:

  • ManagedMask

  • Unmanaged

  • Managed

Informasi implementasi dan masker interop:

  • ForwardRef

  • PreserveSig

  • InternalCall

  • Synchronized

  • NoInlining

  • NoOptimization

  • MaxMethodImplVal

  • SecurityMitigations(Tersedia dimulai dengan .NET Framework 4.8.)

Catatan

Penguncian pada instans atau pada jenis , seperti halnya Synchronized bendera , tidak disarankan untuk jenis publik, karena kode selain anda sendiri dapat mengambil kunci pada jenis publik dan instans. Ini dapat menyebabkan kebuntuan atau masalah sinkronisasi lainnya.

Berlaku untuk

Lihat juga