MethodImplAttributes Enumeráció

Definíció

A metódus-implementáció attribútumainak jelzőit adja meg.

Ez a felsorolás támogatja a tagértékek bitenkénti kombinációját.

Ez az API a termékinfrastruktúrát támogatja, és közvetlenül a kódból nem használható.

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
Öröklődés
MethodImplAttributes
Attribútumok

Mezők

Name Érték Description
IL 0

Azt határozza meg, hogy a metódus implementálása Microsoft köztes nyelven (MSIL) történik.

Managed 0

Megadja, hogy a metódus felügyelt kódban legyen implementálva.

Native 1

Megadja, hogy a metódus implementálása natív-e.

OPTIL 2

Megadja, hogy a metódus implementációja optimalizált köztes nyelven (OPTIL) legyen.

CodeTypeMask 3

A kódtípus jelzőit adja meg.

Runtime 3

Megadja, hogy a metódus implementálását a futtatókörnyezet adja meg.

ManagedMask 4

Meghatározza, hogy a metódus felügyelt vagy nem felügyelt kódban van-e implementálva.

Unmanaged 4

Megadja, hogy a metódus nem felügyelt kódban legyen implementálva.

NoInlining 8

Megadja, hogy a metódus nem ágyazható be.

ForwardRef 16

Azt adja meg, hogy a metódus nincs definiálva.

Synchronized 32

Megadja, hogy a metódus egyszálú legyen a törzsön keresztül. A statikus metódusok (Shared Visual Basic) zárolják a típust, míg a példány metódusai zárolják a példányt. Ehhez használhatja a C# lock utasítást vagy a Visual Basic SyncLock utasítást is.

NoOptimization 64

Azt határozza meg, hogy a metódust nem az igény szerinti (JIT) fordító vagy a natív kódgenerálás (lásd Ngen.exe) optimalizálja a lehetséges kódgenerálási problémák hibakeresésekor.

PreserveSig 128

Megadja, hogy a metódus aláírása pontosan a deklarált módon legyen exportálva.

AggressiveInlining 256

Meghatározza, hogy a metódust lehetőség szerint beágyazott módon kell megadni.

AggressiveOptimization 512

Meghatározza, hogy a metódust lehetőség szerint optimalizálni kell.

SecurityMitigations 1024

Ez a tag jövőbeli használatra van fenntartva. A .NET Framework 4.8-ban vezették be.

InternalCall 4096

Belső hívást határoz meg.

Async 8192
MaxMethodImplVal 65535

Tartomány-ellenőrzési értéket ad meg.

Megjegyzések

Az attribútumok a bitenkénti OR művelettel vannak kombinálva az alábbiak szerint:

Kód implementálási maszkjai:

  • CodeTypeMask

  • IL

  • Native

  • OPTIL

  • Runtime

Felügyelt maszkok:

  • ManagedMask

  • Unmanaged

  • Managed

Megvalósítási információk és interop maszkok:

  • ForwardRef

  • PreserveSig

  • InternalCall

  • Synchronized

  • NoInlining

  • NoOptimization

  • MaxMethodImplVal

  • SecurityMitigations (.NET Framework 4.8-tól érhető el.)

Note

A nyilvános típusok esetében nem ajánlott a példány vagy a típus zárolása, mint a Synchronized jelölő esetében, mert a sajáttól eltérő kód zárolhatja a nyilvános típusok és példányok zárolását. Ez holtpontokat vagy más szinkronizálási problémákat okozhat.

A következőre érvényes:

Lásd még