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

메서드 구현이 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의Shared )는 형식을 잠그지만 인스턴스 메서드는 인스턴스를 잠급니다. 이를 위해 C# lock 문 또는 Visual Basic SyncLock 문을 사용할 수도 있습니다.

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 마찬가지로 인스턴스 또는 형식에 대한 잠금은 공용 형식에는 권장되지 않습니다. 이로 인해 교착 상태 또는 기타 동기화 문제가 발생할 수 있습니다.

적용 대상

추가 정보