MethodImplAttributes Výčet

Definice

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
MethodImplAttributes
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 (Shared v jazyce Visual Basic) zamknou typ, zatímco metody instance uzamknou instanci. K tomuto účelu můžete použít také příkaz lock jazyka C# nebo příkaz Visual Basic SyncLock .

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í.

Platí pro

Viz také