我正在尝试在PCL中使用此代码,我希望在WP8应用程序中使用该代码:
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
。有没有办法使用这些,或者在使用允许的类时还有其他方法吗?