Android97
@Android97
Бэкенд и немного фронтенд разработчик

Как сериализовать интерфейс в C#?

У меня есть интерфейс ITransport.
Есть классы HelicopterTransport и TruckTransport.
Есть список List, в который можно добавить HelicopterTransport или TruckTransport.
Пробую так. но вылетает ошибка, нельзя сделать сериализацию интерфейса.
transportList = JsonConvert.DeserializeObject<List<ITransport>>(jsonString);

Как сделать сериализацию этого списка в файл ?
  • Вопрос задан
  • 695 просмотров
Решения вопроса 1
Android97
@Android97 Автор вопроса
Бэкенд и немного фронтенд разработчик
Сделал так:
transportList = new List<ITransport>();
            BinaryFormatter formatter = new BinaryFormatter();
            FileStream transportFile = new FileStream("transport.tdt", FileMode.OpenOrCreate);
            if (transportFile.Length>0)
            {
                transportList = (List<ITransport>)formatter.Deserialize(transportFile);   
            }
            transportFile.Close(); 
            transportListBindingSource.DataSource = transportList;


BinaryFormatter formatter = new BinaryFormatter();
            FileStream transporFileStream = new FileStream("transport.tdt", FileMode.OpenOrCreate);
            formatter.Serialize(transporFileStream, transportList);
            transporFileStream.Close();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы