0

Тип ошибки в шапке. Пишу To Do List в консольке. Смысл моей мысли вот каков:

User.cs
У каждого пользователя есть имя.
Каждый пользователь имеет свой список задач.

// code internal class User { private string name { get; set; } public List<ToDoTask> Tasks { get; set; } public string Name { get => name; set { name = value; } }

    public override string ToString()
    {
        StringBuilder sb = new StringBuilder();
        sb.Append($&quot;User: {this.name}&quot;);
        return sb.ToString();
    }
}


Дальше я подумал создать отдельный класс самой задачи

(ход моих мыслей)
Задача имеет имя и у задачи есть пользователь, который её создал.

// code internal class ToDoTask { private string name { get; set; } public User User { get; }

    public string Name
    {
        get =&gt; name;
        set
        {
            name = value;
        }
    }
}

По итогу словил Exception. введите сюда описание изображения

Вот главный файл Program.cs

internal class Program
    {
        static void Main(string[] args)
        {
            User u1 = new User() { Name = "Michael" };
            var task = new ToDoTask() { Name = "Покормить кота" };
            u1.Tasks.Add(task);
        foreach(var item in u1.Tasks)
        {
            Console.WriteLine(item);
        }

        Console.WriteLine(u1.ToString());
    }
}

И вот 12 строка, якобы не создан инстанс, только он вроде как создан) введите сюда описание изображения

  • Когда выскакивает ошибка, наведите мышью на объект, который он подсвечивает, посмотрите, что не так, какие он имеет значения, может они NULL. Вот чему равен u1.Tasks? Где его инициализация перед добавлением? Не торопитесь задавать сразу вопрос, подумайте, проанализируйте, а уж когда будете думать, что испробовали все, и вы в тупике, пишите вопрос. – EvgeniyZ Jan 06 '22 at 20:05
  • 3
    public List<ToDoTask> Tasks { get; set; } = new List<ToDoTask>(); – tym32167 Jan 06 '22 at 20:39
  • @tym32167 спасибо! – Michael Clifford Jan 07 '22 at 13:22

0 Answers0