UnmanagedCallersOnlyAttribute Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
UnmanagedCallersOnlyAttribute ile işaretlenmiş herhangi bir yöntem doğrudan yerel koddan çağrılabilir. İşlev belirteci, C# içindeki işlecinin
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
- Devralma
- Öznitelikler
Örnekler
Aşağıdaki örnek, yerel işleve işaretlenen UnmanagedCallersOnlyAttribute bir geri çağırma geçirmeyi gösterir.
[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);
}
Açıklamalar
Bu öznitelikle işaretlenmiş yöntemler aşağıdaki kısıtlamalara sahiptir:
- olarak işaretlenmelidir
static. - Yönetilen koddan çağrılmamalıdır.
- Yalnızca blittable bağımsız değişkenleri olmalıdır.
- Genel tür parametrelerine sahip olmamalıdır veya genel bir sınıf içinde bulunmamalıdır.
Oluşturucular
| Name | Description |
|---|---|
| UnmanagedCallersOnlyAttribute() |
Yeni UnmanagedCallersOnlyAttribute bir örnek başlatır. |
Alanlar
| Name | Description |
|---|---|
| CallConvs |
Optional. Belirtilmezse, çalışma zamanı varsayılan platform çağırma kuralını kullanır. |
| EntryPoint |
Optional. Belirtilmezse, derleme sırasında adlandırılmış dışarı aktarma belirtilmez. |
Özellikler
| Name | Description |
|---|---|
| TypeId |
Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır. (Devralındığı yer: Attribute) |
Yöntemler
| Name | Description |
|---|---|
| Equals(Object) |
Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür. (Devralındığı yer: Attribute) |
| GetHashCode() |
Bu örneğin karma kodunu döndürür. (Devralındığı yer: Attribute) |
| GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| IsDefaultAttribute() |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir. (Devralındığı yer: Attribute) |
| Match(Object) |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür. (Devralındığı yer: Attribute) |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |