MethodImplOptions Enumerazione

Definizione

Specifica le costanti che definiscono i dettagli della modalità di implementazione di un metodo.

Questa enumerazione supporta una combinazione bit per bit dei rispettivi valori dei membri.

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
Ereditarietà
MethodImplOptions
Attributi

Campi

Nome Valore Descrizione
Unmanaged 4

Il metodo viene implementato nel codice non gestito.

NoInlining 8

Il metodo non può essere inlined. L'inlining è un'ottimizzazione in base alla quale una chiamata al metodo viene sostituita con il corpo del metodo.

ForwardRef 16

Il metodo viene dichiarato, ma la relativa implementazione viene fornita altrove.

Synchronized 32

Il metodo può essere eseguito da un solo thread alla volta. I metodi statici bloccano il tipo, mentre i metodi di istanza bloccano l'istanza. Solo un thread può essere eseguito in una delle funzioni di istanza e solo un thread può essere eseguito in una delle funzioni statiche di una classe.

NoOptimization 64

Il metodo non è ottimizzato dal compilatore JIT (Just-In-Time) o dalla generazione di codice nativo (vedere Ngen.exe) durante il debug di possibili problemi di generazione del codice.

PreserveSig 128

La firma del metodo viene esportata esattamente come dichiarato.

AggressiveInlining 256

Se possibile, il metodo deve essere inlined.

L'uso non necessario di questo attributo può ridurre le prestazioni. L'attributo potrebbe causare l'individuazione dei limiti di implementazione che determineranno un rallentamento del codice generato. Misurare sempre le prestazioni per assicurarsi che sia utile applicare questo attributo.

SecurityMitigations 1024

Questo membro è riservato per un uso futuro. È stato introdotto in .NET Framework 4.8.

InternalCall 4096

La chiamata è interna, ovvero chiama un metodo implementato all'interno di Common Language Runtime.

Commenti

Questa enumerazione viene utilizzata con l'attributo MethodImplAttribute .

È possibile specificare più MethodImplOptions valori usando l'operatore OR bit per bit.

Note

Il blocco sull'istanza o sul tipo, come con il Synchronized flag , non è consigliato per i tipi pubblici, perché il codice diverso da quello dell'utente può accettare blocchi su tipi e istanze pubblici. Ciò potrebbe causare deadlock o altri problemi di sincronizzazione.

Si applica a