[問題] struct 和 byte[] 的轉換
就是目前想要在PDA上寫一個程式
用UDP廣播一筆struct資料
但是在轉換上遇到問題
上GOOGLE找了一下發現到這個程式碼
http://0rz.tw/IQaSC
using System.Security.Permissions;
public static byte[] RawSerialize(object anything)
{
int rawsize = Marshal.SizeOf(anything);
IntPtr buffer = Marshal.AllocHGlobal(rawsize);
Marshal.StructureToPtr(anything, buffer, false);
byte[] rawdatas = new byte[rawsize];
Marshal.Copy(buffer, rawdatas, 0, rawsize);
Marshal.FreeHGlobal(buffer);
return rawdatas;
}
public static object RawDeserialize(byte[] rawdatas, Type anytype)
{
int rawsize = Marshal.SizeOf(anytype);
if (rawsize > rawdatas.Length)
return null;
IntPtr buffer = Marshal.AllocHGlobal(rawsize);
Marshal.Copy(rawdatas, 0, buffer, rawsize);
object retobj = Marshal.PtrToStructure(buffer, anytype);
Marshal.FreeHGlobal(buffer);
return retobj;
}
但是在執行這兩個函數總是會當機
上MSDN查似乎需要權限
但是卻不知道該如何設定
問題是出在權限上嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.70.172.14
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章