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 | 메서드 구현이 MSIL(Microsoft intermediate language)임을 지정합니다. |
InternalCall | 4096 | 내부 호출을 지정합니다. |
Managed | 0 | 메서드가 관리되는 코드로 구현되도록 지정합니다. |
ManagedMask | 4 | 메서드가 관리되는 코드로 구현되는지 또는 관리되지 않는 코드로 구현되는지를 지정합니다. |
MaxMethodImplVal | 65535 | 범위 확인 값을 지정합니다. |
Native | 1 | 메서드 구현이 네이티브임을 지정합니다. |
NoInlining | 8 | 메서드를 인라인될 수 없도록 지정합니다. |
NoOptimization | 64 | 메서드가 가능한 코드 생성 문제를 디버그할 때 JIT(just-in-time) 컴파일러 또는 네이티브 코드 생성에 의해 최적화되지 않도록 지정합니다(Ngen.exe 참조). |
OPTIL | 2 | 메서드 구현이 OPTIL(Optimized Intermediate Language)임을 지정합니다. |
PreserveSig | 128 | 메서드 시그니처가 선언된 대로 정확하게 내보내지도록 지정합니다. |
Runtime | 3 | 메서드 구현이 런타임에서 제공되도록 지정합니다. |
SecurityMitigations | 1024 | 이 멤버는 나중에 사용하도록 예약되어 있습니다. .NET Framework 4.8에서 도입되었습니다. |
Synchronized | 32 | 메서드가 본문 내에서 단일 스레드임을 지정합니다. static 메서드(Visual Basic의 |
Unmanaged | 4 | 메서드가 관리되는 않는 코드로 구현되도록 지정합니다. |
설명
특성은 다음과 같이 비트 OR 연산을 사용하여 결합됩니다.
코드 구현 마스크:
CodeTypeMask
IL
Native
OPTIL
Runtime
관리되는 마스크:
ManagedMask
Unmanaged
Managed
구현 정보 및 interop 마스크:
ForwardRef
PreserveSig
InternalCall
Synchronized
NoInlining
NoOptimization
MaxMethodImplVal
SecurityMitigations
(.NET Framework 4.8부터 사용 가능)
참고
고유한 코드가 공용 형식 및 인스턴스에 대한 잠금을 수행할 수 있으므로 플래그와 Synchronized
마찬가지로 인스턴스 또는 형식에 대한 잠금은 공용 형식에는 권장되지 않습니다. 이로 인해 교착 상태 또는 기타 동기화 문제가 발생할 수 있습니다.
적용 대상
추가 정보
.NET