UnmanagedCallersOnlyAttribute Klass

Definition

Alla metoder som har markerats med UnmanagedCallersOnlyAttribute kan anropas direkt från inbyggd kod. Funktionstoken kan läsas in till en lokal variabel med hjälp av adressoperatorn i C# och skickas som återanrop till en intern metod.

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
Arv
UnmanagedCallersOnlyAttribute
Attribut

Exempel

I följande exempel visas hur du skickar en motringning markerad UnmanagedCallersOnlyAttribute till en intern funktion.

[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);
}

Kommentarer

Metoder som har markerats med det här attributet har följande begränsningar:

  • Måste vara markerad static.
  • Får inte anropas från hanterad kod.
  • Får bara ha blittable-argument .
  • Får inte ha generiska typparametrar eller finnas i en allmän klass.

Konstruktorer

Name Description
UnmanagedCallersOnlyAttribute()

Initierar en ny UnmanagedCallersOnlyAttribute instans.

Fält

Name Description
CallConvs

Optional. Om den utelämnas använder körningen standardregeln för plattformsanrop.

EntryPoint

Optional. Om den utelämnas genereras ingen namngiven export under kompilering.

Egenskaper

Name Description
TypeId

När den implementeras i en härledd klass hämtar du en unik identifierare för den här Attribute.

(Ärvd från Attribute)

Metoder

Name Description
Equals(Object)

Returnerar ett värde som anger om den här instansen är lika med ett angivet objekt.

(Ärvd från Attribute)
GetHashCode()

Returnerar hash-koden för den här instansen.

(Ärvd från Attribute)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
IsDefaultAttribute()

När den åsidosättas i en härledd klass anger du om värdet för den här instansen är standardvärdet för den härledda klassen.

(Ärvd från Attribute)
Match(Object)

När den åsidosätts i en härledd klass returneras ett värde som anger om den här instansen är lika med ett angivet objekt.

(Ärvd från Attribute)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för