如何在Xamarin iOS Binding中绑定(const void *)参数

时间:2018-04-14 16:45:18

标签: objective-c xamarin xamarin.ios

我正在为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);

但我不知道这是否正确。

任何见解都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

通过SushiHangover回答

  

对我来说很好,就绑定而言,const void *   是* *因为它只是“指向某个任意内存的指针”   地址,IntPtr是要走的路。当然在Extras.cs中你可以   将SendBytes调用包装成更好的重载规范化C#SendBytes   接受一些结构化数据/对象的方法(byte [],NSData,   Bitmap,CIImage等...)并调用原始SendBytes