System.Runtime.CompilerServices.Unsafe包定义了F#编译器显示为具有输入或输出类型nativeptr<unit>
的几种方法。这些方法包括AsPointer
,AsRef
,Copy
,CopyBlock
,InitBlock
,Read
和Write
以及其他一些方法
但是,任何使用这些方法的尝试都会产生以下编译错误:
error FS0001: A generic construct requires that the type 'nativeptr<unit>' have reference semantics, but it does not, i.e. it is a struct
查看包的source,nativeptr<unit>
对应IL对象中的void*
。
这有什么解决方法吗?或者,如何修改IL方法以使用F#?