Я пытаюсь реализовать метод, основанный на Cocoa
- (void) alertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo;
Проблема в параметре типа void*. Я не знаю, что эквивалентно С# для указателя на пустоту.
Я пробовал небезопасное выполнение с "void*", но, видимо, это не то же самое. Я также пробовал просто "void", но компилятор C# утверждает, что void нельзя использовать в качестве типа параметра.
Любые идеи?
Error CS0123: A method or delegate `MyProgram.MainWindow.alertDidEnd(MonoMac.AppKit.NSAlert, int, MonoMac.Foundation.NSObject)' parameters do not match delegate `MonoMac.Foundation.NSAction()' parameters (CS0123)
Обновление (после решения проблемы):
Это вызов и метод, который сделал эту работу:
alert.BeginSheet ((NSWindow)sender, this, new Selector ("alertDidEnd:returnCode:contextInfo:"), IntPtr.Zero);
[Export("alertDidEnd:returnCode:contextInfo:")]
public void alertDidEnd (NSAlert alert, int result, IntPtr ci)
{}
Первый отображает оповещение, прикрепленное к окну, второй — объявление метода функции, вызываемой при отклонении оповещения. Результат сохраняется в int result.