UnmanagedCallersOnlyAttribute 클래스

정의

UnmanagedCallersOnlyAttribute 표시된 모든 메서드는 네이티브 코드에서 직접 호출할 수 있습니다. 함수 토큰은 C#의 address-of 연산자를 사용하여 지역 변수에 로드하고 네이티브 메서드에 대한 콜백으로 전달할 수 있습니다.

public ref class UnmanagedCallersOnlyAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)]
public sealed class UnmanagedCallersOnlyAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)>]
type UnmanagedCallersOnlyAttribute = class
    inherit Attribute
Public NotInheritable Class UnmanagedCallersOnlyAttribute
Inherits Attribute
상속
UnmanagedCallersOnlyAttribute
특성

예제

다음 예제에서는 네이티브 함수로 표시된 UnmanagedCallersOnlyAttribute 콜백을 전달하는 방법을 보여 줍니다.

[DllImport("NativeLibrary")]
internal static extern unsafe void NativeFunctionWithCallback(delegate* unmanaged[Cdecl]<int, int> callback);

[UnmanagedCallersOnly(CallConvs = new[] { typeof(CallConvCdecl) })]
private static int DoubleInt(int i) => i * 2;

public static unsafe void PassCallbackToNativeFunction()
{
    NativeFunctionWithCallback(&DoubleInt);
}

설명

이 특성으로 표시된 메서드에는 다음과 같은 제한 사항이 있습니다.

  • 를 표시 static해야 합니다.
  • 관리 코드에서 호출해서는 안 됩니다.
  • Blittable 인수만 있어야 합니다.
  • 제네릭 형식 매개 변수가 없거나 제네릭 클래스 내에 포함되어야 합니다.

생성자

Name Description
UnmanagedCallersOnlyAttribute()

UnmanagedCallersOnlyAttribute 인스턴스를 초기화합니다.

필드

Name Description
CallConvs

Optional. 생략하면 런타임은 기본 플랫폼 호출 규칙을 사용합니다.

EntryPoint

Optional. 생략하면 컴파일 중에 명명된 내보내기가 내보내지지 않습니다.

속성

Name Description
TypeId

파생 클래스에서 구현되는 경우 이 Attribute대한 고유 식별자를 가져옵니다.

(다음에서 상속됨 Attribute)

메서드

Name Description
Equals(Object)

이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다.

(다음에서 상속됨 Attribute)
GetHashCode()

이 인스턴스의 해시 코드를 반환합니다.

(다음에서 상속됨 Attribute)
GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
IsDefaultAttribute()

파생 클래스에서 재정의되는 경우 이 인스턴스의 값이 파생 클래스의 기본값인지 여부를 나타냅니다.

(다음에서 상속됨 Attribute)
Match(Object)

파생 클래스에서 재정의되는 경우 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다.

(다음에서 상속됨 Attribute)
MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상