首页 新闻 搜索 专区 学院

c 和 c# socket 通讯,对象和字节数组的转换问题

1
悬赏园豆:30 [待解决问题]

我把对象转换字节是这样的:

public byte[] GetBytes<T>(NMT_DATA<T> data)
{
int size = Marshal.SizeOf(data);
IntPtr buffer
= Marshal.AllocHGlobal(size);

Marshal.StructureToPtr(data, buffer,
true);

byte[] rawdatas = new byte[size];
Marshal.Copy(buffer, rawdatas,
0, size);
Marshal.FreeHGlobal(buffer);
return rawdatas;
}
因为data是泛型,Marshal.StructureToPtr(data, buffer, true);失败,不允许泛型,有什么替代方法或者其他解决方案吗

问题补充: 自己支持
Marvel的主页 Marvel | 初学一级 | 园豆:98
提问于:2011-05-04 12:11
< >
分享
所有回答(2)
0

这样可以的呃

public byte[] GetBytes<T>(T data)
{
int size = Marshal.SizeOf(data);
IntPtr buffer
= Marshal.AllocHGlobal(size);

Marshal.StructureToPtr(data, buffer,
true);

byte[] rawdatas = new byte[size];
Marshal.Copy(buffer, rawdatas,
0, size);
Marshal.FreeHGlobal(buffer);
return rawdatas;
}

LittlePeng | 园豆:3395 (老鸟四级) | 2011-05-04 20:08
0

序列化么~~~

哑吧湖大水怪 | 园豆:13 (初学一级) | 2011-05-04 20:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册