Добавление элемента в общий список в форме WPF - PullRequest
0 голосов
/ 31 августа 2011

У меня есть список с именем employeeList, который я заполняю таблицей данных, которая работает правильно.Поэтому теперь я хочу добавить возможность (необязательный) элемент в список во время выполнения.Я думал, что простой List.Insert будет работать, но я получаю ошибки, когда я пытаюсь это сделать.Строка, с которой у меня возникают проблемы, это employeeList.Insert, и две ошибки включены в блок кода.

    private static List<Employee> employeeList(string store, 
                                               string loginId = "", 
                                               int position = 100)
    {
        var employeeList = default(List<Employee>);
        employeeList = new List<Employee>();

        using (var dt = Logins.getDataset(store, "Manpower_SelectLogins"))
        {
            foreach (DataRow dr in dt.Rows)
            {
                employeeList.Add(new Employee(dr["LoginId"].ToString()));
            }
        }

        if (string.IsNullOrEmpty(loginId) != true)
        {
            employeeList.Insert(position, loginId);

            //Error 2 Argument 2: cannot convert from 'string' to 
            //'ManpowerManager.MainWindow.Employee

            //Error 1 The best overloaded method match for 
            //'System.Collections.Generic.List<ManpowerManager.MainWindow.Employee>.
            //Insert(int, ManpowerManager.MainWindow.Employee)' has some invalid arguments
        }

        return employeeList;
    }

Что я делаю не так?

Ответы [ 2 ]

3 голосов
/ 31 августа 2011

employeeList - это список типа ManpowerManager.MainWindow.Employe, поэтому вы не можете вставить в него строку.

Я думаю, вы можете захотеть что-то вроде этого:

employeeList.Insert(position, new Employee(loginId));
1 голос
/ 31 августа 2011

вам нужно вставить нового сотрудника:

employeeList.Insert(position, new Employee(loginid)
                         {
                           FirstName = "steve", // or whatever you want to initalize (or not)
                         } );

вы пытаетесь вставить строку в список объектов Employee, таким образом, ваши ошибки.

в качестве отступления вы назначаете нуль (default(List<Employee>)), а затем на следующей строке назначаете новый список. Вы можете сделать это в одной строке: List<Employee> employeeList = new List<Employee>();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...