Enum MethodImplAttributes
- Namespace
- AsmResolver.PE.DotNet.Metadata.Tables
- Assembly
- AsmResolver.PE.dll
Provides members defining all flags that dictate the implementation of a method body.
[Flags]
public enum MethodImplAttributes : ushort
Fields
AggressiveInlining = 256Method should be inlined if possible.
AggressiveOptimization = 512Method may contain hot code and should be aggressively optimized.
CodeTypeMask = Native | OPTILProvides a bitmask for obtaining the flags related to the code type of the method.
ForwardRef = 16Indicates the method is defined; used primarily in merge scenarios.
IL = 0Method implementation is IL.
InternalCall = 4096Reserved for internal use.
Managed = 0Method implementation is managed.
ManagedMask = 4Provides a bitmask for obtaining the flags specifying whether the code is managed or unmanaged.
Native = 1Method implementation is native.
NoInlining = 8Method may not be inlined.
NoOptimization = 64Method will not be optimized when generating native code.
OPTIL = 2Method implementation is OPTIL.
PreserveSig = 128Indicates the method signature is not to be mangled to do HRESULT conversion.
Runtime = Native | OPTILMethod implementation is provided by the runtime.
SecurityMitigations = Native | AggressiveOptimizationSpecifies that the JIT compiler should look for security mitigation attributes, such as the user-defined
System.Runtime.CompilerServices.SecurityMitigationsAttribute. If found, the JIT compiler applies any related security mitigations. Available starting with .NET Framework 4.8.This is an undocumented flag and is currently not used: Original addition: https://github.com/dotnet/dotnet-api-docs/pull/2253 Documentation removal: https://github.com/dotnet/dotnet-api-docs/pull/4652
Synchronized = 32Method is single threaded through the body.
Unmanaged = 4Method implementation is unmanaged.