MonoPInvokeCallbackAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Атрибут, используемый для создания заметок к функциям, которые будут вызываться из неуправляемого мира.
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class MonoPInvokeCallbackAttribute : Attribute
type MonoPInvokeCallbackAttribute = class
inherit Attribute
- Наследование
-
MonoPInvokeCallbackAttribute
- Атрибуты
Комментарии
Этот атрибут действителен в статических функциях и используется компилятором Ahead of Time в Mono для создания кода, необходимого для поддержки обратного вызова машинного вызова в управляемый код.
В обычных программах ECMA CIL это происходит автоматически, и не нужно помечать ничего специально, но при компиляции pure Ahead of Time компилятор должен знать, какие методы будут вызываться из неуправляемого кода.
В текущей версии Xamarin.iOS из неуправляемого кода можно вызывать только статические функции.
Необходимо указать тип делегата, как будет вызываться этот код. В следующем примере показан сценарий, в котором это используется:
using System;
delegate void DrawPatternCallback (IntPtr voidptr, IntPtr cgcontextref);
[MonoPInvokeCallback (typeof (DrawPatternCallback))]
static void DrawCallback (IntPtr voidptr, IntPtr cgcontextptr)
{
// This method is called from the C library
}
Конструкторы
MonoPInvokeCallbackAttribute(Type) |
Конструктор для MonoPInvokeCallbackAttribute. |
Свойства
DelegateType |
Тип делегата, который будет вызывать нас обратно. |