"Невозможно сериализовать WindowsFormsApp3.FitnesCentre, т.*к. он не имеет беспараметрического конструктора." - C#

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

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

добрый день пытаюсь сделать курсовую но наткнулся на проблему скажите как ее решить. Есть класс. вот он
Листинг программы
  1. public class FitnesCentre
  2. {
  3. public int gs_n { get; set; }
  4. public string gs_secondName { get; set; }
  5. public string gs_name { get; set; }
  6. public int gs_age { get; set; }
  7. public string gs_phone { get; set; }
  8. public string gs_employment { get; set; }
  9.  
  10. public FitnesCentre()
  11. {
  12. }
  13. }
С таким класом программа работает хорошо. Мне нужно было написать unit test. Сделал я это так
Листинг программы
  1. [TestMethod()]
  2. public void SearchBySecondNameTest1()//1-3-4-5-6-7-3-8-9
  3. {
  4. var data = new BindingList<FitnesCentre>();
  5. data.Add(new FitnesCentre(1, "secondName1", "name1", 1, "phone1", "employment1"));
  6. data.Add(new FitnesCentre(1, "secondName2", "name2", 2, "phone2", "employment2"));
  7. Form1 target = new Form1();
  8. List<string> check = target.SearchBySecondName(data, "secondName1");
  9. Assert.AreEqual(check[0], "secondName1 name1");
  10. }
Но при этом пришлось изменить сам класс вот так
Листинг программы
  1. public class FitnesCentre
  2. {
  3. public int gs_n { get; set; }
  4. public string gs_secondName { get; set; }
  5. public string gs_name { get; set; }
  6. public int gs_age { get; set; }
  7. public string gs_phone { get; set; }
  8. public string gs_employment { get; set; }
  9.  
  10. public FitnesCentre(int gs_n, string gs_secondName, string gs_name, int gs_age, string gs_phone, string gs_employment)
  11. {
  12. this.gs_n = gs_n;
  13. this.gs_secondName = gs_secondName;
  14. this.gs_name = gs_name;
  15. this.gs_age = gs_age;
  16. this.gs_phone = gs_phone;
  17. this.gs_employment = gs_employment;
  18. }
  19. }
И уже после этого изменения сама программа выдает ошибку "Невозможно сериализовать WindowsFormsApp3.FitnesCentre, т.*к. он не имеет беспараметрического конструктора." Вот часть кода в котором возникает проблема именно в последней строчке
Листинг программы
  1. namespace WindowsFormsApp3
  2. {
  3. public partial class Form1 : Form
  4. {
  5. BindingList<FitnesCentre> data = new BindingList<FitnesCentre>();
  6. string path = "D:\\tmp.xml";
  7. XmlSerializer ser = new XmlSerializer(typeof(BindingList<FitnesCentre>));
Как мне решить проблему

Решение задачи: «"Невозможно сериализовать WindowsFormsApp3.FitnesCentre, т.*к. он не имеет беспараметрического конструктора."»

textual
Листинг программы
  1.  public FitnesCentre()
  2. {
  3. }

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


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

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

15   голосов , оценка 4.267 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы