有没有办法将IntPtr / void *转换为C#中的ref SomeStruct?

时间:2017-05-09 01:34:31

标签: c# pointers ref

SUBJ。用例是:假设我有一个非托管缓冲区,用于存储SomeStruct的N个实例。因此,在此缓冲区中有一个地址,有没有办法将此地址转换为ref SomeStruct - 例如能够直接更新这些结构吗?

P.S。我知道即将发生的Span<T>类型。我很好奇是否有任何方法可以在C#中做类似的事情。

1 个答案:

答案 0 :(得分:4)

好的,找到了答案:System.Runtime.CompilerServices.Unsafe.AsRef<T>解决了这个问题。更多相关信息:http://adamsitnik.com/ref-returns-and-ref-locals/