Ошибка CS1729 при попытке добавить данные объекта к списку
Всем доброго времени суток. Возникает ошибка при добавлении в список CS1729 - "Person" не содержит конструктор, который принимает аргументы 0. Как исправить, подскажите.
List<Person> persons = new List<Person>();
persons.Add( new Person { Name = "Bob", Age = 10 });
class Person
{
public string Name;
public int Age;
public Person(string name, int age)
{
Name = name;
Age = age;
}
}
Ответы (1 шт):
Список и добавление в него не имеет никакого отношения к вашей проблеме.
Когда вы объявили в своём классе конструктор с параметрами, компилятор перестал создавать автоматически конструктор без параметров. А именно он используется в этом коде: new Person { Name = "Bob", Age = 10 }
. Что равноценно записи: new Person() { Name = "Bob", Age = 10 }
.
Поэтому вам нужно либо объявить в вашем классе конструктор без параметров: public Person() { }
, либо использовать в коде конструктор с параметрами: new Person("Bob", 10)
- обратите внимание на круглые скобки вместо фигурных.