我正在尝试在希望在 WP8 应用程序中使用的 PCL 中使用此代码:
internal static T ByteArrayToStructure<T>(byte[] bytes) where T : struct
{
GCHandle handle = GCHandle.Alloc(bytes, GCHandleType.Pinned);
T value = (T)Marshal.PtrToStructure(handle.AddrOfPinnedObject(),
typeof(T));
try {}
finally { handle.Free(); }
return value;
}
但是,它没有注册GCHandle
或Marshal
. 有没有办法使用这些,或者在使用允许的类时是否有其他方法可以做到这一点?