UnmanagedCallersOnlyAttribute Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
- 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) |