2014-09-16 2 views
1

У меня есть следующий класс для хранения данных.Невозможно неявно преобразовать тип 'void' в 'System.Collections.Generic.List <string>'

namespace SumSoftware 
{ 
    public class Faculty 
    { 
     public string Name { get; set; } 
     public string Dept { get; set; } 
     public List<string> subInterest; 

    } 
} 

И я пытаюсь добавить данные из ListBox и User Input таким образом.

private void btnTeacherDataAdd_Click(object sender, RoutedEventArgs e) 
{ 
    List<string> interests = new List<string>(); 
    if (lstInterest.SelectedItems.Count >= 0) 
    { 
     foreach (var selectedSubjects in lstInterest.SelectedItems) 
     { 
       interests.Add(selectedSubjects.ToString()); 
     } 
    } 

    SaveDirectory.list_of_faculty.Add(
     new Faculty { 
      Name = txtTeacherName.Text, 
      Dept = cmbDepts.Items.CurrentItem.ToString(), 
      subInterest = new List<string>().AddRange(interests) //ERROR HERE 
     }); 
} 

Я не могу сохранить содержимое ListBox в моем списке. Как это можно исправить? Спасибо.

ответ

6

Вместо того, чтобы вызывать AddRange в списке инициализации его с последовательностью значений, передать последовательность в конструктор:

subInterest = new List<string>(interests), 

Метод AddRange возвращает void, а не сам список, и вы пытаетесь присвоить этому void выражение subInterest, что недопустимо.

Смежные вопросы