我正在为Xamarin.iOS绑定第三方objective-c库。该库有几个方法签名,可以接受(const void*)
类型的参数。
有人知道绑定语法是什么样的吗?该方法的一个例子是:
-(BOOL)sendBytes:(const void *)data length:(NSUInteger)dataLength answer:(const void *)answer length:(NSUInteger)answerLength;
我把它绑定为
[Export("sendBytes:length:answer:length:")]
unsafe bool SendBytes(IntPtr data, nuint dataLength, IntPtr answer, nuint answerLength);
但我不知道这是否正确。
任何见解都将受到赞赏。
答案 0 :(得分:0)
通过SushiHangover回答
对我来说很好,就绑定而言,const void * 是* *因为它只是“指向某个任意内存的指针” 地址,IntPtr是要走的路。当然在Extras.cs中你可以 将SendBytes调用包装成更好的重载规范化C#SendBytes 接受一些结构化数据/对象的方法(byte [],NSData, Bitmap,CIImage等...)并调用原始SendBytes