Я пытаюсь создать приложение, которое может как сериализовать, так и десериализовать данные, я могу сериализовать информацию, однако, когда я пытаюсь прочитать информацию, я остаюсь с пустым списком, и я не знаю почему.Deserialisation не удалось перечислить данные
Мой Сериализация класс
[Serializable()]
public class FileSerilizeObject
{
public static string FileName { get; set; }
public static string Extension { get; set; }
public static string Base64 { get; set; }
public FileSerilizeObject(string filename, string extension, string base64vaulue)
{
FileName = filename;
Extension = extension;
Base64 = base64vaulue;
}
}
}
Мои методы сериализации/десериализации
public void Serialize(List<FileSerilizeObject> List)
{
using (Stream stream = File.Open(savepath, FileMode.OpenOrCreate))
{
BinaryFormatter bin = new BinaryFormatter();
bin.Serialize(stream, List);
stream.Close();
}
}
public List<FileSerilizeObject> Deserialised(string OpenPath)
{
List<FileSerilizeObject> defo;
using(Stream stream = File.Open(OpenPath, FileMode.Open))
{
BinaryFormatter bin = new BinaryFormatter();
defo = (List<FileSerilizeObject>)bin.Deserialize(stream);
}
return defo;
}
Я проверил, чтобы убедиться, что файл пути правильны и что сам файл не пуст. Все прекрасно, но список «defo» всегда пуст, поэтому я могу только предположить, что проблема связана с линией defo = (List<FileSerilizeObject>)bin.Deserialize(stream);
, но я не знаю почему.
Компилятор говорит, что атрибут '[Serializable()]' недействителен для этого типа объявления. – Gerard2202
Хорошо, поэтому вы пытаетесь сериализовать свойства 'FileName',' Extension' и 'Base64' класса' FileSerilizeObject', это правильно? – 321polorex123
Да, я пытаюсь как сериализовать, так и десериализовать эту информацию. – Gerard2202