MethodImplAttributes Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje příznaky pro atributy implementace metody.
Tento výčet podporuje bitové kombinace hodnot jeho členů.
Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.
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
- Dědičnost
- Atributy
Pole
AggressiveInlining | 256 | Určuje, že metoda by měla být vložena, kdykoli je to možné. |
AggressiveOptimization | 512 | Určuje, že metoda by měla být optimalizována, kdykoli je to možné. |
CodeTypeMask | 3 | Určuje příznaky týkající se typu kódu. |
ForwardRef | 16 | Určuje, že metoda není definována. |
IL | 0 | Určuje, že implementace metody je v jazyce MSIL (Microsoft Intermediate Language). |
InternalCall | 4096 | Určuje interní volání. |
Managed | 0 | Určuje, že metoda je implementována ve spravovaném kódu. |
ManagedMask | 4 | Určuje, jestli je metoda implementována ve spravovaném nebo nespravovaném kódu. |
MaxMethodImplVal | 65535 | Určuje kontrolní hodnotu rozsahu. |
Native | 1 | Určuje, že implementace metody je nativní. |
NoInlining | 8 | Určuje, že metodu nelze inlinovat. |
NoOptimization | 64 | Určuje, že metoda není při ladění možných problémů s generováním kódu optimalizovaná kompilátorem JIT (just-in-time) nebo nativním generováním kódu (viz Ngen.exe). |
OPTIL | 2 | Určuje, že implementace metody je v optil (Optimized Intermediate Language). |
PreserveSig | 128 | Určuje, že podpis metody je exportován přesně tak, jak bylo deklarováno. |
Runtime | 3 | Určuje, že modul runtime poskytuje implementaci metody. |
SecurityMitigations | 1024 | Tento člen je vyhrazen pro budoucí použití. Byl zaveden v rozhraní .NET Framework 4.8. |
Synchronized | 32 | Určuje, že metoda je jednovláknová prostřednictvím těla. Statické metody ( |
Unmanaged | 4 | Určuje, že metoda je implementována v nespravovaném kódu. |
Poznámky
Atributy se kombinují pomocí bitové operace OR následujícím způsobem:
Masky implementace kódu:
CodeTypeMask
IL
Native
OPTIL
Runtime
Spravované masky:
ManagedMask
Unmanaged
Managed
Informace o implementaci a masky interoperability:
ForwardRef
PreserveSig
InternalCall
Synchronized
NoInlining
NoOptimization
MaxMethodImplVal
SecurityMitigations
(K dispozici od .NET Framework 4.8.)
Poznámka
Uzamčení instance nebo typu, stejně jako u příznaku Synchronized
, se nedoporučuje pro veřejné typy, protože jiný kód než váš vlastní může převzít zámky na veřejných typech a instancích. To může způsobit vzájemné zablokování nebo jiné problémy se synchronizací.
Platí pro
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro