В этом случае тип возвращаемого значения должен быть List<string>
или один из реализуемых им интерфейсов.
Вам также необходимо присвоить возвращаемое значение чему-либо в коде вызова:
Review r = new Review();
var newDataSource = r.getEmp();
cboEmployee.DataSource = newDataSource;
или просто
Review r = new Review();
cboEmployee.DataSource = r.getEmp();
Как правило, тип возвращаемого значения метода должен быть типом значения, возвращаемого методом, или супертипом этого значения. Вы возвращаете результат вызова ToList (), поэтому тип возвращаемого значения вашего метода должен быть совместим с этим.
В вашем вызывающем коде вы, кажется, смущены переменной областью действия. Переменная emps
является локальной переменной метода getEmp; вне этого метода это не видно.
Поскольку getEmp определен в классе, отличном от того, из которого он вызывается, он должен быть internal
или public
, поэтому он будет виден вызывающему классу. Или просто определите метод getEmp в классе frmMain, а не в классе Review. Вам вообще нужен класс по обзору?
Первый фрагмент выше присваивает возвращаемое значение другой локальной переменной (которую я назвал newDataSource
, чтобы уменьшить вероятность путаницы), а затем присваивает значение этой переменной cboEmployee.DataSource
. Второй пример пропускает промежуточное назначение.