MethodImplAttributes Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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 ( |
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.