public class P
{
public string name;
public int i;
}
BinaryFormatter formatter = new BinaryFormatter();
P p1 = new P();
p1.name = "aaa";
p1.i = 100;
int i = Marshal.SizeOf(p1); //这个地方有问题,也不能用sizeof(px)
byte[] data = new byte[256];
MemoryStream ms = new MemoryStream(i);
formatter.Serialize(ms, p1);
我的需求是将一个类序列化后,传给另外个客户端再反序列,请问这里该如何序列才能达到我的目的,谢谢。。
------解决思路----------------------
[Serializable]
class Item{}
//序列化
Item item1 = new Item();
BinaryFormatter f = new BinaryFormatter();
Stream s = new MemoryStream();
f.Serialize(s, item1);
s.Seek(0, SeekOrigin.Begin);
byte[] data = new byte[s.Length];
s.Read(data, 0, data.Length);
s.Close();
//反序列化
Stream s2 = new MemoryStream(data);
var item2 = f.Deserialize(s2) as Item;