MethodImplAttributes Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt Flags für die Attribute einer Methodenimplementierung an.
Diese Enumeration unterstützt eine bitweise Kombination ihrer Memberwerte.
Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.
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
- Vererbung
- Attribute
Felder
AggressiveInlining | 256 | Gibt an, dass die Methode nach Möglichkeit intern sein muss. |
AggressiveOptimization | 512 | Gibt an, dass die Methode nach Möglichkeit optimiert werden soll. |
CodeTypeMask | 3 | Gibt Flags zum Codetyp an. |
ForwardRef | 16 | Gibt an, dass die Methode nicht definiert ist. |
IL | 0 | Gibt an, dass die Methodenimplementierung in MSIL (Microsoft Intermediate Language) vorliegt. |
InternalCall | 4096 | Gibt einen internen Aufruf an. |
Managed | 0 | Gibt an, dass die Methode in verwaltetem Code implementiert wird. |
ManagedMask | 4 | Gibt an, ob die Methode in verwaltetem oder nicht verwaltetem Code implementiert wird. |
MaxMethodImplVal | 65535 | Gibt einen Wert für eine Bereichsprüfung an. |
Native | 1 | Gibt an, dass die Methodenimplementierung nativ ist. |
NoInlining | 8 | Gibt an, dass die Methode nicht intern sein kann. |
NoOptimization | 64 | Gibt an, dass die Methode beim Debuggen möglicher Codegenerierungsprobleme nicht durch den Just-in-Time-Compiler (JIT) oder durch Generierung von nativem Code (siehe Ngen.exe) optimiert wird. |
OPTIL | 2 | Gibt an, dass die Methodenimplementierung in OPTIL (Optimized Intermediate Language) vorliegt. |
PreserveSig | 128 | Gibt an, dass die Signatur der Methode genau entsprechend der Deklaration exportiert wird. |
Runtime | 3 | Gibt an, dass die Methodenimplementierung von der Laufzeit bereitgestellt wird. |
SecurityMitigations | 1024 | Dieses Element ist für die zukünftige Verwendung reserviert. Es wurde in .NET Framework 4.8 eingeführt. |
Synchronized | 32 | Gibt an, dass die Methode im Haupttext in einem einzelnen Thread verarbeitet wird. Statische Methoden ( |
Unmanaged | 4 | Gibt an, dass die Methode in nicht verwaltetem Code implementiert wird. |
Hinweise
Die Attribute werden mit dem bitweisen OR-Vorgang wie folgt kombiniert:
Codeimplementierungsmasken:
CodeTypeMask
IL
Native
OPTIL
Runtime
Verwaltete Masken:
ManagedMask
Unmanaged
Managed
Implementierungsinformationen und Interopmasken:
ForwardRef
PreserveSig
InternalCall
Synchronized
NoInlining
NoOptimization
MaxMethodImplVal
SecurityMitigations
(Verfügbar ab .NET Framework 4.8.)
Hinweis
Das Sperren der Instanz oder des Typs, wie beim Synchronized
Flag, wird für öffentliche Typen nicht empfohlen, da anderer Code als Ihr eigener Code Sperren für öffentliche Typen und Instanzen ergreifen kann. Dies kann zu Deadlocks oder anderen Synchronisierungsproblemen führen.