MethodImplOptions Enumeráció

Definíció

Olyan állandókat határoz meg, amelyek meghatározzák a metódus implementálásának részleteit.

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

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

Mezők

Name Érték Description
Unmanaged 4

A metódus nem felügyelt kódban van implementálva.

NoInlining 8

A metódus nem ágyazható be. A inlining egy optimalizálás, amellyel a metódushívások a metódus törzsére cserélődnek.

ForwardRef 16

A metódus deklarálva van, de megvalósítása máshol történik.

Synchronized 32

A metódust egyszerre csak egy szál hajthatja végre. A statikus metódusok zárolják a típust, míg a példány metódusai zárolják a példányt. A példányfüggvényekben csak egy szál hajtható végre, és csak egy szál hajtható végre az osztály statikus függvényeiben.

NoOptimization 64

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

A metódus-aláírás exportálása pontosan a deklarált módon történik.

AggressiveInlining 256

A metódust lehetőség szerint beágyazottnak kell lennie.

Az attribútum szükségtelen használata csökkentheti a teljesítményt. Az attribútum implementálási korlátokat okozhat, amelyek lassabban generált kódot eredményeznek. Mindig mérje a teljesítményt, hogy biztosan hasznos legyen az attribútum alkalmazása.

AggressiveOptimization 512

A metódus olyan kódot tartalmaz, amelyet mindig teljesítményre kell optimalizálni.

Ritkán célszerű ezt az attribútumot használni. Az attribútumot alkalmazó metódusok megkerülik a rétegzett fordítás első szintjét, ezért nem részesülnek a rétegzett fordításra támaszkodó optimalizálásokból. Ezek az optimalizálások közé tartozik a dinamikus PGO és az inicializált osztályokon alapuló optimalizálás. Az attribútum használata növelheti a memóriahasználatot is. Mindig mérje a teljesítményt, hogy biztosan hasznos legyen az attribútum alkalmazása.

SecurityMitigations 1024

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

InternalCall 4096

A hívás belső, azaz egy olyan metódust hív meg, amely a közös nyelvi futtatókörnyezetben van implementálva.

Async 8192

Megjegyzések

Ez az enumerálás az MethodImplAttribute attribútummal együtt használatos.

A bitenkénti VAGY operátorral több MethodImplOptions értéket is megadhat.

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: