0

我已经拿起了这段代码,但据我所知,这是不安全的代码,在 WP7 中可能无法使用。有没有人知道如何让这段代码安全使用,也许是 try/catch?

GCHandle gch = GCHandle.Alloc(waveInBytes,GCHandleType.Pinned);
int pPtr;

unsafe
{
    pPtr = (int)gch.AddrOfPinnedObject().ToPointer();
    pPtr += 4;
}
4

1 回答 1

1

一般来说,指针是不安全的。IntPtr.ToPointer() 返回一个 void* 类型,这是导致错误的原因。尝试/捕捉没有帮助。

根据您要执行的操作的更大上下文,只需将 ToPointer() 调用更改为 ToInt32() 即可。实际上,在尝试将这种代码转换为 WP7 时,您可能会遇到更多的问题,而不仅仅是这个编译器错误。

无论如何,希望有所帮助。

于 2012-08-01T20:56:46.080 回答