共用方式為


MethodImplAttributes 列舉

定義

指定方法實作的屬性旗標。

此列舉支援其成員值的位元組合。

此 API 支援此產品基礎結構,但無法直接用於程式碼之中。

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
繼承
MethodImplAttributes
屬性

欄位

AggressiveInlining 256

指定可行時應內嵌方法。

AggressiveOptimization 512

指定可行時應最佳化的方法。

CodeTypeMask 3

指定有關程式碼類型的旗標。

ForwardRef 16

指定方法未定義。

IL 0

指定方法以 Microsoft 中繼語言 (MSIL) 實作。

InternalCall 4096

指定內部呼叫。

Managed 0

指定方法是以 Managed 程式碼實作。

ManagedMask 4

指定方法是以 Managed 或 Unmanaged 程式碼實作。

MaxMethodImplVal 65535

指定範圍檢查值。

Native 1

指定方法實作為原生。

NoInlining 8

指定方法無法內嵌。

NoOptimization 64

指定對可能的程式碼產生問題進行偵錯時,方法不是由 Just-In-Time (JIT) 編譯器或原生程式碼產生最佳化 (請參閱 Ngen.exe)。

OPTIL 2

指定方法以最佳化中繼語言 (OPTIL) 實作。

PreserveSig 128

指定方法簽章完全依宣告方式匯出。

Runtime 3

指定方法實作由執行階段提供。

SecurityMitigations 1024

這個成員保留供未來使用。 這是在 .NET Framework 4.8 中引進的。

Synchronized 32

指定方法是單一執行緒,透過主體。 靜態方法 (Visual Basic 中的Shared ) 鎖定類型,執行個體方法則鎖定執行個體。 針對此目的,您也可以使用 C# lock 陳述式 或 Visual Basic SyncLock 陳述式

Unmanaged 4

指定方法是以 Unmanaged 程式碼實作。

備註

屬性會使用位 OR 運算來結合,如下所示:

程式代碼實作遮罩:

  • CodeTypeMask

  • IL

  • Native

  • OPTIL

  • Runtime

受控遮罩:

  • ManagedMask

  • Unmanaged

  • Managed

實作資訊和 Interop 遮罩:

  • ForwardRef

  • PreserveSig

  • InternalCall

  • Synchronized

  • NoInlining

  • NoOptimization

  • MaxMethodImplVal

  • SecurityMitigations (從 .NET Framework 4.8.) 開始提供

注意

不建議針對公用型別鎖定實例或型 Synchronized 別鎖定,因為您自己的程式代碼可以鎖定公用類型和實例。 這可能會造成死結或其他同步處理問題。

適用於

另請參閱