C# 如何在一个文件中序列化所有流
假设我的文件有两个使用BinaryFormatter序列化的类。我需要使用C# 如何在一个文件中序列化所有流,c#,deserialization,binaryformatter,C#,Deserialization,Binaryformatter,假设我的文件有两个使用BinaryFormatter序列化的类。我需要使用(ClassName1)格式化程序。反序列化(文件) (ClassName2)格式化程序。反序列化(文件) 获取特定流并访问其数据。是否有任何方法显示文件中存在的所有类名?就像注释中所说的ClassName1、ClassName2一样,如果您正在寻找性能,您应该将类名保存在单独的文件中。 如果没有,则始终可以使用: string className = formatter.Deserialize(file).GetType
(ClassName1)格式化程序。反序列化(文件)
(ClassName2)格式化程序。反序列化(文件)
获取特定流并访问其数据。是否有任何方法显示文件中存在的所有类名?就像注释中所说的
ClassName1、ClassName2
一样,如果您正在寻找性能,您应该将类名保存在单独的文件中。
如果没有,则始终可以使用:
string className = formatter.Deserialize(file).GetType().Name
这将返回类名
ClassName1
或ClassName2
,您需要保存此数据。在任何情况下,如果将所有序列化的类存储在同一个文件中,则需要知道每个类字节的开始和结束位置。一种方法是使用一个单独的索引文件来保存这些数据。