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 intermediate language (MSIL) であることを指定します。 |
InternalCall | 4096 | 内部の呼び出しを指定します。 |
Managed | 0 | メソッドがマネージド コードで実装されることを指定します。 |
ManagedMask | 4 | メソッドがマネージド コードとアンマネージド コードのどちらで実装されるかを指定します。 |
MaxMethodImplVal | 65535 | 範囲チェックの値を指定します。 |
Native | 1 | メソッド実装がネイティブであることを指定します。 |
NoInlining | 8 | メソッドがインライン化できないことを指定します。 |
NoOptimization | 64 | コード生成の問題をデバッグする場合に、メソッドを最適化するために Just-In-Time (JIT) コンパイラまたはネイティブ コードによる生成を使用しないことを指定します (Ngen.exe を参照)。 |
OPTIL | 2 | メソッド実装が Optimized Intermediate Language (OPTIL) であることを指定します。 |
PreserveSig | 128 | メソッド シグネチャが宣言どおりにエクスポートされることを指定します。 |
Runtime | 3 | ランタイムによりメソッド実装が提供されることを指定します。 |
SecurityMitigations | 1024 | このメンバーは将来使用するために予約されています。 .NET Framework 4.8 で導入されました。 |
Synchronized | 32 | 本体から、メソッドがシングル スレッドであることを指定します。 静的メソッド (Visual Basic では |
Unmanaged | 4 | メソッドがアンマネージ コードで実装されることを指定します。 |
注釈
属性は、次のようにビットごとの OR 演算を使用して結合されます。
コード実装マスク:
CodeTypeMask
IL
Native
OPTIL
Runtime
マネージド マスク:
ManagedMask
Unmanaged
Managed
実装情報と相互運用マスク:
ForwardRef
PreserveSig
InternalCall
Synchronized
NoInlining
NoOptimization
MaxMethodImplVal
SecurityMitigations
(.NET Framework 4.8 以降で使用可能)。
注意
独自のコード以外のコードはパブリック型とインスタンスに対してロックを取ることができるため、パブリック型の場合と同様 Synchronized
に、インスタンスまたは 型でのロックは推奨されません。 これにより、デッドロックやその他の同期の問題が発生する可能性があります。
適用対象
こちらもご覧ください
.NET