Как вы ожидаете, List<EmailData>.Add
узнает, как превратить три string
с в экземпляр EmailData
? Вы ожидаете слишком многого от Framework. Нет перегрузки List<T>.Add
, которая принимает три строковых параметра. Фактически, единственная перегрузка List<T>.Add
принимает T
. Следовательно, вы должны создать экземпляр EmailData
и передать его в List<T>.Add
. Вот что делает приведенный выше код.
Попробуйте:
lstemail.Add(new EmailData {
FirstName = "JOhn",
LastName = "Smith",
Location = "Los Angeles"
});
Используется синтаксис инициализации объекта C #. Кроме того, вы можете добавить конструктор в ваш класс
public EmailData(string firstName, string lastName, string location) {
this.FirstName = firstName;
this.LastName = lastName;
this.Location = location;
}
Тогда:
lstemail.Add(new EmailData("JOhn", "Smith", "Los Angeles"));