MethodImplOptions Enumerazione

Definizione

Definisce i dettagli della modalità di implementazione di un metodo.Defines the details of how a method is implemented.

Questa enumerazione ha un attributo FlagsAttribute che consente una combinazione bit per bit dei valori del relativo membro.

public enum class MethodImplOptions
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum MethodImplOptions
type MethodImplOptions = 
Public Enum MethodImplOptions
Ereditarietà
MethodImplOptions
Attributi

Campi

AggressiveInlining 256

Il metodo deve essere impostato come inline, se possibile.The method should be inlined if possible.

AggressiveOptimization 512

Il metodo contiene un percorso critico e deve essere ottimizzato.The method contains a hot path and should be optimized.

ForwardRef 16

Il metodo è dichiarato, ma la relativa implementazione è specificata altrove.The method is declared, but its implementation is provided elsewhere.

InternalCall 4096

La chiamata è interna, ossia viene chiamato un metodo implementato in Common Language Runtime.The call is internal, that is, it calls a method that is implemented within the common language runtime.

NoInlining 8

Il metodo non può essere impostato come inline.The method cannot be inlined. L'inlining è un'ottimizzazione in base alla quale una chiamata a un metodo viene sostituita con il corpo del metodo.Inlining is an optimization by which a method call is replaced with the method body.

NoOptimization 64

Il metodo non è ottimizzato dal compilatore JIT (Just-In-Time) o dalla generazione del codice nativo (vedere Ngen.exe) durante il debug di possibili problemi di generazione del codice.The method is not optimized by the just-in-time (JIT) compiler or by native code generation (see Ngen.exe) when debugging possible code generation problems.

PreserveSig 128

La firma del metodo viene esportata esattamente come dichiarato.The method signature is exported exactly as declared.

SecurityMitigations 1024

Il compilatore JIT deve cercare gli attributi di mitigazione dei rischi, come l'attributo System.Runtime.CompilerServices.SecurityMitigationsAttribute definito dall'utente.The JIT compiler should look for security mitigation attributes, such as the user-defined System.Runtime.CompilerServices.SecurityMitigationsAttribute. Se vengono trovati, il compilatore JIT applica eventuali mitigazioni dei rischi correlate.If found, the JIT compiler applies any related security mitigations. Disponibile a partire da .NET Framework 4.8.Available starting with .NET Framework 4.8.

Synchronized 32

Il metodo può essere eseguito da un solo thread alla volta.The method can be executed by only one thread at a time. I metodi statici creano un blocco sul tipo, mentre i metodi di istanza creano un blocco sull'istanza.Static methods lock on the type, whereas instance methods lock on the instance. In una delle funzioni dell'istanza e in una delle funzioni statiche di una classe può essere eseguito un solo thread.Only one thread can execute in any of the instance functions, and only one thread can execute in any of a class's static functions.

Unmanaged 4

Il metodo è implementato in codice non gestito.The method is implemented in unmanaged code.

Commenti

Questa enumerazione viene utilizzata con l' MethodImplAttribute attributo.This enumeration is used with the MethodImplAttribute attribute.

È possibile specificare più MethodImplOptions valori usando l'operatore OR bit per bit.You can specify multiple MethodImplOptions values by using the bitwise OR operator.

Nota

Il blocco sull'istanza o sul tipo, come con il flag Synchronized, non è consigliato per i tipi pubblici, perché il codice diverso dal proprio può assumere blocchi su tipi e istanze pubblici.Locking on the instance or on the type, as with the Synchronized flag, is not recommended for public types, because code other than your own can take locks on public types and instances. Questo potrebbe causare deadlock o altri problemi di sincronizzazione.This might cause deadlocks or other synchronization problems.

Si applica a