MethodImplAttributes 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
指定方法實作的屬性旗標。
此列舉支援其成員值的位元組合。
此 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
- 繼承
- 屬性
欄位
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 中的 |
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
別鎖定,因為您自己的程式代碼可以鎖定公用類型和實例。 這可能會造成死結或其他同步處理問題。