[問題] struct 和 byte[] 的轉換

看板C_Sharp (C#)作者 ( ???)時間17年前 (2009/02/10 04:23), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
就是目前想要在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
文章代碼(AID): #19a92tlj (C_Sharp)
文章代碼(AID): #19a92tlj (C_Sharp)