因爲我可以直接訪問序列化通用列表中的特定對象,所以我需要從反序列化的流中知道它的位置。如何查找序列化通用列表中的對象位置
private static void Serialze(object obj, FileStream Stream)
{
BinaryFormatter bin = new BinaryFormatter();
bin.FilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Low;
bin.Serialize(Stream, obj);
}
private static object DeSerialize(FileStream Stream)
{
if (Stream.Position >= Stream.Length) return null;
BinaryFormatter bin = new BinaryFormatter();
bin.FilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Low;
object x = bin.Deserialize(Stream);
return x;
}
假設我有一個通用的清單如下:
List<MyClass> L1=new List<MyClass>();
我怎樣才能找到L1 [10]的位置在我FileStreem,使用它,在反序列化的方法?
這根本不是'BinaryFormatter'支持的功能。當然,即使是這樣,我仍然**強烈**建議不要使用'BinaryFormatter' –
@MarcGravell謝謝你,Marc給你建議。我會研究這個。 –