0
我想通过创建绑定库来移植Xamarin iOS中的本机iOS库。我跟着this教程。但是我坚持建立解决方案。在C#中,int *和long *与objective-c等效的是什么?
我已经取代void*
与IntPtr
因为Objective-C的等价物的void*
是在C#IntPtr
。
任何帮助将不胜感激。提前致谢。
编辑:
int32_t*
和在C#目标c的int64_t*
更精确。
我想通过创建绑定库来移植Xamarin iOS中的本机iOS库。我跟着this教程。但是我坚持建立解决方案。在C#中,int *和long *与objective-c等效的是什么?
我已经取代void*
与IntPtr
因为Objective-C的等价物的void*
是在C#IntPtr
。
任何帮助将不胜感激。提前致谢。
编辑:
int32_t*
和在C#目标c的int64_t*
更精确。
答案取决于指针的用途:将变量传递给方法/函数,以便被调用者可以更改该值;或用于一般指针算术。
在第一种情况下,如果用于从an out
parameter is required返回多个值。如果使用更通用并且参数用于读取&,则写入传递的变量,然后使用a ref
parameter。
在第二种情况下,您应该首先考虑重新设计您的算法不要使用指针,这更符合C#模型。如果您确实需要执行通用指针操作,那么您需要使用unsafe
code,然后您可以使用完全相同的pointer types。
int32_t *和int64_t *在c#中的objective-c更精确。 –