Это действительно возможно. Код ниже добавляет объект.
using (var fileStream = new FileStream("C:\file.dat", FileMode.Append))
{
var bFormatter = new BinaryFormatter();
bFormatter.Serialize(fileStream, objectToSerialize);
}
Следующий код десериализует объекты.
var list = new List<ObjectToSerialize>();
using (var fileStream = new FileStream("C:\file.dat", FileMode.Open))
{
var bFormatter = new BinaryFormatter();
while (fileStream.Position != fileStream.Length)
{
list.Add((ObjectToSerialize)bFormatter.Deserialize(fileStream));
}
}
Обратите внимание, чтобы этот файл работал, он должен содержать только те же объекты.