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
| Name | Wert | Beschreibung |
|---|---|---|
| IL | 0 | Gibt an, dass sich die Methodenimplementierung in Microsoft Zwischensprache (MSIL) befindet. |
| Managed | 0 | Gibt an, dass die Methode in verwaltetem Code implementiert wird. |
| Native | 1 | Gibt an, dass die Methodenimplementierung systemintern ist. |
| OPTIL | 2 | Gibt an, dass sich die Methodenimplementierung in der optimierten Zwischensprache (OPTIL) befindet. |
| CodeTypeMask | 3 | Gibt Flags zum Codetyp an. |
| Runtime | 3 | Gibt an, dass die Methodenimplementierung von der Laufzeit bereitgestellt wird. |
| ManagedMask | 4 | Gibt an, ob die Methode in verwaltetem oder nicht verwaltetem Code implementiert wird. |
| Unmanaged | 4 | Gibt an, dass die Methode im nicht verwalteten Code implementiert wird. |
| NoInlining | 8 | Gibt an, dass die Methode nicht inlineiert werden kann. |
| ForwardRef | 16 | Gibt an, dass die Methode nicht definiert ist. |
| Synchronized | 32 | Gibt an, dass die Methode über den Textkörper mit einem Thread versehen wird. Statische Methoden ( |
| NoOptimization | 64 | Gibt an, dass die Methode nicht vom Just-in-Time-Compiler (JIT) oder von systemeigener Codegenerierung (siehe Ngen.exe) optimiert wird, wenn sie mögliche Probleme bei der Codegenerierung debuggen. |
| PreserveSig | 128 | Gibt an, dass die Methodensignatur genau wie deklariert exportiert wird. |
| AggressiveInlining | 256 | Gibt an, dass die Methode nach Möglichkeit inlineiert werden soll. |
| AggressiveOptimization | 512 | Gibt an, dass die Methode nach Möglichkeit optimiert werden soll. |
| SecurityMitigations | 1024 | Dieses Mitglied ist für die zukünftige Verwendung reserviert. Sie wurde in .NET Framework 4.8 eingeführt. |
| InternalCall | 4096 | Gibt einen internen Aufruf an. |
| Async | 8192 | |
| MaxMethodImplVal | 65535 | Gibt einen Bereichsprüfungswert an. |
Hinweise
Die Attribute werden mit dem bitweisen OR-Vorgang wie folgt kombiniert:
Codeimplementierungsmasken:
CodeTypeMaskILNativeOPTILRuntime
Verwaltete Masken:
ManagedMaskUnmanagedManaged
Implementierungsinformationen und Interopmasken:
ForwardRefPreserveSigInternalCallSynchronizedNoInliningNoOptimizationMaxMethodImplValSecurityMitigations(Ab .NET Framework 4.8 verfügbar.)
Note
Das Sperren der Instanz oder des Typs, wie bei der Synchronized Kennzeichnung, wird für öffentliche Typen nicht empfohlen, da code außer Ihrem eigenen Sperren für öffentliche Typen und Instanzen übernehmen kann. Dies kann zu Deadlocks oder anderen Synchronisierungsproblemen führen.