在c#中序列化一个对象并获得字节流
本文关键字:字节流 一个对象 序列化 | 更新日期: 2023-09-27 18:07:00
我有一个对象,Serializable
类的实例。我想知道你怎么能得到这个对象作为字节流?
我知道我可以使用BinaryFormatter
,然后使用Serialize
方法,但是这个方法使用serializationStream
,它写入序列化对象。我希望能够将其写入文件/流中的特定位置,所以我想这样做:
obj = new Something(); // obj is serializable
byte[] serialized = obj.serialize(); [*]
file.write(position, serialized)
是否有任何方法我可以做[*]
,采取一个对象的序列化字节?
MemoryStream m = new MemoryStream();
var formatter = new BinaryFormatter();
formatter.Serialize(m, new MyClass() {Name="SO"});
byte[] buf = m.ToArray(); //or File.WriteAllBytes(filename, m.ToArray())
[Serializable]
public class MyClass
{
public string Name;
}