MethodImplOptions Enum
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anger konstanter som definierar information om hur en metod implementeras.
Den här uppräkningen stöder en bitvis kombination av dess medlemsvärden.
public enum class MethodImplOptions
[System.Flags]
public enum MethodImplOptions
[System.Flags]
[System.Serializable]
public enum MethodImplOptions
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum MethodImplOptions
[<System.Flags>]
type MethodImplOptions =
[<System.Flags>]
[<System.Serializable>]
type MethodImplOptions =
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type MethodImplOptions =
Public Enum MethodImplOptions
- Arv
- Attribut
Fält
| Name | Värde | Description |
|---|---|---|
| Unmanaged | 4 | Metoden implementeras i ohanterad kod. |
| NoInlining | 8 | Metoden kan inte infogas. Inlining är en optimering med vilken ett metodanrop ersätts med metodtexten. |
| ForwardRef | 16 | Metoden deklareras, men dess implementering tillhandahålls någon annanstans. |
| Synchronized | 32 | Metoden kan bara köras av en tråd i taget. Statiska metoder låser på typen, medan instansmetoderna låser på instansen. Endast en tråd kan köras i någon av instansfunktionerna, och endast en tråd kan köras i någon av klassens statiska funktioner. |
| NoOptimization | 64 | Metoden optimeras inte av jit-kompilatorn (just-in-time) eller av den interna kodgenereringen (se Ngen.exe) när du felsöker eventuella problem med kodgenerering. |
| PreserveSig | 128 | Metodsignaturen exporteras exakt som deklarerat. |
| AggressiveInlining | 256 | Metoden bör anges om möjligt. Onödig användning av det här attributet kan minska prestandan. Attributet kan orsaka implementeringsgränser som resulterar i långsammare genererad kod. Mät alltid prestanda för att säkerställa att det är användbart att använda det här attributet. |
| SecurityMitigations | 1024 | Den här medlemmen är reserverad för framtida användning. Den introducerades i .NET Framework 4.8. |
| InternalCall | 4096 | Anropet är internt, det vill säga anropar en metod som implementeras inom den gemensamma språkkörningen. |
Kommentarer
Den här uppräkningen används med attributet MethodImplAttribute .
Du kan ange flera MethodImplOptions värden med hjälp av operatorn BITWISE OR.
Note
Låsning på instansen eller på typen, som med Synchronized flaggan, rekommenderas inte för offentliga typer, eftersom annan kod än din egen kan ta lås på offentliga typer och instanser. Detta kan orsaka dödlägen eller andra synkroniseringsproblem.