.NET 4.x Десериализация BindingList<> - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет, не могу понять почему при не забрасывает данные в DataGridView при использовании десериализации BindingList<> С текстовым файлом всё работает отлично..и бинарным List<> тоже отлично, а вот с BindingList<> как-то не очень
namespace Lab2BD
{
    [Serializable]
    class DataBase
    {
        public static BindingList<DataBase> MyBase = new BindingList<DataBase>();
        public string FIO { get; set; }
        public string Birthday { get; set; }
        public string Group { get; set; }
        public string Number { get; set; }
        public string Adress { get; set; }
        public DataBase(string FIO, string Birthday, string Group, string Number, string Adress)
        {
            this.FIO = FIO;
            this.Birthday = Birthday;
            this.Group = Group;
            this.Number = Number;
            this.Adress = Adress;
        }
        public DataBase()
        {
 
        }
        public void Add(DataBase Item)
        {
            MyBase.Add(Item);
 
        }
        public void SaveToBinary()
        {
            BinaryFormatter binFormat = new BinaryFormatter();
            using (Stream fStream = new FileStream("user.dat", FileMode.Create, FileAccess.Write, FileShare.None))
            {
                binFormat.Serialize(fStream, MyBase);
            }
        }
 
        public void ReadFromBinary()
        {
            MyBase.Clear();
            BinaryFormatter binFormat = new BinaryFormatter();
            using (Stream fStream = new FileStream("user.dat", FileMode.Open, FileAccess.Read, FileShare.None))
            {
                MyBase = (BindingList<DataBase>)binFormat.Deserialize(fStream);
            }           
        }
 
        public void SaveToTxt()
        {
            using (StreamWriter SW = new StreamWriter("user.txt"))
            {
                foreach (DataBase Item in MyBase)
                {
                    SW.WriteLine(Item.FIO + "|" + Item.Birthday + "|" + Item.Group + "|" + Item.Number + "|" + Item.Adress);
                }
            }
        }
 
        public void ReadFromTxt()
        {
            MyBase.Clear();
            string ReadData = "";
 
            using (StreamReader SR = new StreamReader("user.txt"))
            {
                while (!SR.EndOfStream)
                {
                    DataBase Item = new DataBase();
                    ReadData = SR.ReadLine();
                    string[] SplitData = ReadData.Split('|');
                    Item.FIO = SplitData[0];
                    Item.Birthday = SplitData[1];
                    Item.Group = SplitData[2];
                    Item.Number = SplitData[3];
                    Item.Adress = SplitData[4];
                    Add(Item);
                }
            }
        }
    }
}
Вот сам проект. Lab2BD.rar У кого будет время..скажите в чём дело..а то уже вторые сутки не могу найти ошибку.

Решение задачи: «.NET 4.x Десериализация BindingList<>»

textual
Листинг программы
        private void OpenButton_Click(object sender, EventArgs e)
        { 
            if (LoadSaveTextRB.Checked)
            {
               NewItem.ReadFromTxt();
            }
            else
            {         
               NewItem.ReadFromBinary();
               MainDataGridView.DataSource = DataBase.MyBase;      //<<----------             
            }   
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.5 из 5