Serializable в binary коллекции лист - C#
Формулировка задачи:
прошу помочь, не могу понять как десериализовать коллекцию List
ошибка в методе десериализации коллекции settings, как правильно сделать?
using System; using System.Collections.Generic; using System.Dynamic; using System.IO; using System.Linq; using System.Runtime.Serialization.Formatters.Binary; using System.Net; using System.Text; using System.Threading.Tasks; using System.Net.Mail; using System.Security.Permissions; namespace e_mail { [Serializable] public class Settings { public string LoginEmail { get; set; } // почтовое имя public string PasswordEmail { get; set; } // пароль public int SmtpPort { get; set; } // порт для smtp public string SmtpHost { get; set; } // сервер для отправки } class Program { static void Main(string[] args) { Settings options = new Settings(); List<Settings> settings = new List<Settings>(); Console.Write("Введите адрес электронной почты -> "); options.LoginEmail = Console.ReadLine(); Console.Write("Введите пароль -> "); options.PasswordEmail = Console.ReadLine(); Console.Write("Введите порт сервера -> "); options.SmtpPort = Convert.ToInt32(Console.ReadLine()); Console.Write("Введите smtp сервер -> "); options.SmtpHost = Console.ReadLine(); settings.Add(options); BinaryFormatter formatter = new BinaryFormatter(); //получаем поток, куда будем записывать сериализованный объект using (FileStream stream = new FileStream("setings.dat", FileMode.OpenOrCreate)) { formatter.Serialize(stream, options); Console.WriteLine("Объект сериализован"); } // десериализация из файла people.dat using (FileStream stream = new FileStream("setings.dat", FileMode.Open)) { settings = (List<Settings>)formatter.Deserialize(stream); Console.WriteLine("Объект десериализован: "); Console.WriteLine("login: {0} -> password: {1} -> port: {2} -> smtp сервер: {3}", settings[0].LoginEmail, settings[0].PasswordEmail, settings[0].SmtpPort, settings[0].SmtpHost); } Console.ReadLine(); } } }
Решение задачи: «Serializable в binary коллекции лист»
textual
Листинг программы
formatter.Serialize(stream, settings);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д