MethodImplAttributes Enumeráció
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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
- 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 ( |
| 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:
CodeTypeMaskILNativeOPTILRuntime
Felügyelt maszkok:
ManagedMaskUnmanagedManaged
Megvalósítási információk és interop maszkok:
ForwardRefPreserveSigInternalCallSynchronizedNoInliningNoOptimizationMaxMethodImplValSecurityMitigations(.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.