我正在尝试通过创建绑定库在 Xamarin iOS 中移植本机 iOS 库。我按照本教程进行操作。但我被困在构建解决方案的点上。
我已经替换void*
为,IntPtr
因为objective-c 相当于void*
在IntPtr
C# 中。
任何帮助将不胜感激。提前致谢。
编辑:
int32_t*
更int64_t*
准确地说,是 C# 中的objective-c。
我正在尝试通过创建绑定库在 Xamarin iOS 中移植本机 iOS 库。我按照本教程进行操作。但我被困在构建解决方案的点上。
我已经替换void*
为,IntPtr
因为objective-c 相当于void*
在IntPtr
C# 中。
任何帮助将不胜感激。提前致谢。
编辑:
int32_t*
更int64_t*
准确地说,是 C# 中的objective-c。
答案取决于指针的用途:将变量传递给方法/函数,以便被调用者可以更改值;或用于一般指针算术。
在第一种情况下,如果要从中返回多个值,则需要一个out
参数。如果使用更一般并且参数用于读取和写入传递的变量,则使用ref
参数。
在第二种情况下,您应该首先考虑重新设计算法以不使用指针,这更符合 C# 模型。如果您确实需要执行一般的指针操作,那么您需要使用unsafe
代码,然后您需要的指针类型完全相同。