MethodImplOptions Enum
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee geeft u constanten op die de details definiëren van hoe een methode wordt geïmplementeerd.
Deze opsomming ondersteunt een bitsgewijze combinatie van de waarden van de leden.
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
- Overname
- Kenmerken
Velden
| Name | Waarde | Description |
|---|---|---|
| Unmanaged | 4 | De methode wordt geïmplementeerd in niet-beheerde code. |
| NoInlining | 8 | De methode kan niet worden inlined. Inlining is een optimalisatie waarmee een methodeaanroep wordt vervangen door de hoofdtekst van de methode. |
| ForwardRef | 16 | De methode wordt gedeclareerd, maar de implementatie ervan wordt elders geleverd. |
| Synchronized | 32 | De methode kan slechts door één thread tegelijk worden uitgevoerd. Statische methoden vergrendelen het type, terwijl exemplaarmethoden op het exemplaar worden vergrendeld. Slechts één thread kan worden uitgevoerd in een van de exemplaarfuncties en slechts één thread kan worden uitgevoerd in een van de statische functies van een klasse. |
| NoOptimization | 64 | De methode is niet geoptimaliseerd door de Just-In-Time-compiler (JIT) of door systeemeigen codegeneratie (zie Ngen.exe) bij het opsporen van fouten in mogelijke problemen met het genereren van code. |
| PreserveSig | 128 | De methodehandtekening wordt exact geëxporteerd zoals gedeclareerd. |
| AggressiveInlining | 256 | De methode moet indien mogelijk inline zijn. Onnodig gebruik van dit kenmerk kan de prestaties verminderen. Het kenmerk kan ertoe leiden dat er implementatielimieten worden aangetroffen die leiden tot tragere gegenereerde code. Meet altijd de prestaties om ervoor te zorgen dat het handig is om dit kenmerk toe te passen. |
| SecurityMitigations | 1024 | Dit lid is gereserveerd voor toekomstig gebruik. Het is geïntroduceerd in .NET Framework 4.8. |
| InternalCall | 4096 | De aanroep is intern, dat wil gezegd: het roept een methode aan die wordt geïmplementeerd in de algemene taalruntime. |
Opmerkingen
Deze opsomming wordt gebruikt met het MethodImplAttribute kenmerk.
U kunt meerdere MethodImplOptions waarden opgeven met behulp van de bitsgewijze OR-operator.
Note
Vergrendelen op het exemplaar of op het type, zoals bij de Synchronized vlag, wordt niet aanbevolen voor openbare typen, omdat andere code dan uw eigen vergrendelingen kan aannemen voor openbare typen en exemplaren. Dit kan impasses of andere synchronisatieproblemen veroorzaken.