Поле класса - массив объектов другого класса - C#
Формулировка задачи:
Здравствуйте.
У меня определен класс Article, в котором определен конструктор по умолчанию.
Затем определяю класс Magazine, в котором одним из полей является массив объектов Article.
В обоих конструкторах этого класса есть определение нулевого элемента через конструктор по-умолчанию. А также метод добавления нового объекта в массив.
но при компиляции выдает ошибку System NullReferenceException (ссылка на объект не указывает на экземпляр объекта)
Как правильно оформить массив объектов в поле? желательно убрать определение 0го элемента массива по умолчанию из конструктора с параметрами.
Листинг программы
- class Article
- {
- public Person author { get; set; }
- public string article_name { get; set; }
- public double article_rate { get; set; }
Листинг программы
- public Article()
- {
- author = new Person();
- article_name = "article";
- article_rate = 0;
- }
Листинг программы
- class Magazine
- {
- private string mag_name { get; set; }
- private Frequency mag_freq { get; set; }
- private DateTime mag_date { get; set; }
- private int mag_quant { get; set; }
- private Article[] mag_article{ get; set; }
- public Magazine(string N, Frequency F, DateTime D, int Q)
- {
- mag_name = N;
- mag_freq = F;
- mag_date = D;
- mag_quant = Q;
- mag_article[0] = new Article();
- }
- public Magazine()
- {
- mag_name = "Magazine";
- mag_freq = 0;
- mag_date = new DateTime(1990, 01, 01);
- mag_quant = 0;
- mag_article[0] = new Article();
- }
Решение задачи: «Поле класса - массив объектов другого класса»
textual
Листинг программы
- private List<Article> mag_article{ get; set; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д