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 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, zda je metoda implementována ve spravovaném nebo nespravovaném kódu. |
MaxMethodImplVal | 65535 | Určuje hodnotu kontroly rozsahu. |
Native | 1 | Určuje, že implementace metody je nativní. |
NoInlining | 8 | Určuje, že metodu nelze vnořet. |
NoOptimization | 64 | Určuje, že metoda není optimalizovaná kompilátorem JIT (just-in-time) nebo nativním generováním kódu (viz Ngen.exe) při ladění možných problémů s generováním kódu. |
OPTIL | 2 | Určuje, že implementace metody je v optil (Optimized Intermediate Language). |
PreserveSig | 128 | Určuje, že podpis metody se exportuje přesně tak, jak je deklarováno. |
Runtime | 3 | Určuje, že implementace metody je poskytována modulem runtime. |
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á přes tělo. Statické metody ( |
Unmanaged | 4 | Určuje, že metoda je implementována v nespravovaném kódu. |
Poznámky
Atributy jsou kombinovány 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 verze .NET Framework 4.8.)
Poznámka
Uzamčení instance nebo typu, 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 zablokování nebo jiné problémy se synchronizací.