MethodImplAttributes Enum

Definitie

Hiermee geeft u vlaggen op voor de kenmerken van een methode-implementatie.

Deze opsomming ondersteunt een bitsgewijze combinatie van de waarden van de leden.

Deze API ondersteunt de productinfrastructuur en is niet bedoeld om rechtstreeks vanuit de code te gebruiken.

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
Overname
MethodImplAttributes
Kenmerken

Velden

Name Waarde Description
IL 0

Hiermee geeft u op dat de methode-implementatie zich in Microsoft tussenliggende taal (MSIL) bevindt.

Managed 0

Hiermee geeft u op dat de methode wordt geïmplementeerd in beheerde code.

Native 1

Hiermee geeft u op dat de implementatie van de methode systeemeigen is.

OPTIL 2

Hiermee geeft u op dat de methode-implementatie zich in Geoptimaliseerde tussenliggende taal (OPTIL) bevindt.

CodeTypeMask 3

Hiermee geeft u vlaggen over codetype.

Runtime 3

Hiermee geeft u op dat de implementatie van de methode wordt geleverd door de runtime.

ManagedMask 4

Hiermee geeft u op of de methode wordt geïmplementeerd in beheerde of onbeheerde code.

Unmanaged 4

Hiermee geeft u op dat de methode wordt geïmplementeerd in niet-beheerde code.

NoInlining 8

Hiermee geeft u op dat de methode niet kan worden inlined.

ForwardRef 16

Hiermee geeft u op dat de methode niet is gedefinieerd.

Synchronized 32

Hiermee geeft u op dat de methode één thread via de hoofdtekst wordt uitgevoerd. Statische methoden (Shared in Visual Basic) vergrendelen voor het type, terwijl exemplaarmethoden worden vergrendeld op het exemplaar. U kunt ook de instructie C# lock of de instructie Visual Basic SyncLock gebruiken voor dit doel.

NoOptimization 64

Hiermee geeft u op dat de methode niet is 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

Hiermee geeft u op dat de methodehandtekening exact wordt geëxporteerd zoals gedeclareerd.

AggressiveInlining 256

Hiermee geeft u op dat de methode waar mogelijk inline moet worden geplaatst.

SecurityMitigations 1024

Dit lid is gereserveerd voor toekomstig gebruik. Het is geïntroduceerd in .NET Framework 4.8.

InternalCall 4096

Hiermee geeft u een interne aanroep.

MaxMethodImplVal 65535

Hiermee geeft u een bereikcontrolewaarde op.

Opmerkingen

De kenmerken worden als volgt gecombineerd met behulp van de bitsgewijze OR-bewerking:

Code-implementatiemaskers:

  • CodeTypeMask

  • IL

  • Native

  • OPTIL

  • Runtime

Beheerde maskers:

  • ManagedMask

  • Unmanaged

  • Managed

Implementatie-informatie en interoperabiliteitsmaskers:

  • ForwardRef

  • PreserveSig

  • InternalCall

  • Synchronized

  • NoInlining

  • NoOptimization

  • MaxMethodImplVal

  • SecurityMitigations (beschikbaar vanaf .NET Framework 4.8.)

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.

Van toepassing op

Zie ook