MethodImplAttributes Enumerazione

Definizione

Specifica i flag per gli attributi di un'implementazione del metodo.

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

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

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

Campi

AggressiveInlining 256

Specifica che, se possibile, il metodo deve essere impostato come inline.

AggressiveOptimization 512

Specifica che il metodo deve essere ottimizzato quando possibile.

CodeTypeMask 3

Specifica i flag relativi al tipo di codice.

ForwardRef 16

Specifica che il metodo non è definito.

IL 0

Specifica che il metodo è implementato in MSIL (Microsoft Intermediate Language).

InternalCall 4096

Specifica una chiamata interna.

Managed 0

Specifica che il metodo è implementato in codice gestito.

ManagedMask 4

Specifica se il metodo è implementato in codice gestito o non gestito.

MaxMethodImplVal 65535

Specifica un valore di controllo dell'intervallo.

Native 1

Specifica che l'implementazione del metodo è nativa.

NoInlining 8

Specifica che il metodo non può essere impostato come inline.

NoOptimization 64

Specifica che 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.

OPTIL 2

Specifica che il metodo è implementato in OPTIL (Optimized Intermediate Language).

PreserveSig 128

Specifica che la firma del metodo viene esportata esattamente come viene dichiarata.

Runtime 3

Specifica che l'implementazione del metodo è fornita dal runtime.

SecurityMitigations 1024

Questo membro è riservato per usi futuri. È stato introdotto in .NET Framework 4.8.

Synchronized 32

Specifica che il metodo è a thread singolo attraverso il corpo. I metodi statici (Shared in Visual Basic) creano un blocco sul tipo, mentre i metodi di istanza creano un blocco sull'istanza. A questo scopo è possibile usare anche l'istruzione lock di C# o l'istruzione SyncLock di Visual Basic.

Unmanaged 4

Specifica che il metodo è implementato in codice non gestito.

Commenti

Gli attributi vengono combinati usando l'operazione OR bit per bit come segue:

Maschere di implementazione del codice:

  • CodeTypeMask

  • IL

  • Native

  • OPTIL

  • Runtime

Maschere gestite:

  • ManagedMask

  • Unmanaged

  • Managed

Informazioni sull'implementazione e maschere di interoperabilità:

  • ForwardRef

  • PreserveSig

  • InternalCall

  • Synchronized

  • NoInlining

  • NoOptimization

  • MaxMethodImplVal

  • SecurityMitigations Disponibile a partire da .NET Framework 4.8.

Nota

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

Si applica a

Vedi anche