2013-10-13 77 views
0

我想从一个不同的.dll类中的方法接收的对象实例化一个列表的新实例。当我这样做,我得到一个类型转换错误:从一个返回列表的方法实例化一个列表

Cannot implicitly convert type System.Collections.Generic.List<HelpDeskBusinessDataObject.Employee> to System.Collections.Generic.List<HelpDeskBusinessUserObject.Employee>

这是怎么了实例吧:

public List<EmployeeBusinessUser> GetAll() 
{ 
    EmployeeBusinessData empData = new EmployeeBusinessData(); 

    List<Employee> employees = new List<Employee>(); 
    List<EmployeeBusinessUser> retEmployees = new List<EmployeeBusinessUser>(); 

    try 
    { 
     //Here is where I am trying to get the list assigned to what is 
     //returned from the method call 
     employees = empData.GetAll(); 
    } 
    catch (Exception ex) 
    { 
     ErrorRoutine(ex, "EmployeeUserData", "GetAll"); 
    } 

    return retEmployees; 
} 

感谢您的帮助。

编辑:GETALL()方法:

public List<Employee> GetAll() 
    { 
     HelpDeskDBEntities dbContext = new HelpDeskDBEntities(); 
     List<Employee> employees = new List<Employee>(); 

     try 
     { 
      employees = dbContext.Employees.ToList(); 
     } 
     catch (Exception ex) 
     { 
      throw new Exception(ex.Message); 
     } 
     return employees; 
    } 
+5

'HelpDeskBusinessDataObject'!='HelpDeskBusinessUserObject' – PSL

+0

@ PSL的建议是正确的。你也尝试声明为var? – Jeyara

+0

我知道。我在名为EmployeeBusinessData的类中调用一个名为HelpDeskBusinessDataObjects的项目中的方法。假设我有上面这个方法调用EmployeeBusinessData中的方法,并且能够返回一个员工对象列表。 – Delete

回答

0

EMPDATA是EmployeeBusinessData的一个实例。员工是员工名单。你不能简单地让所有除非法GETALL()返回

List<Employee>. 

刚刚从GETALL()检查您的返回类型,并确保它返回员工的列表。

+0

它正在返回一个员工名单,这就是为什么我不明白为什么它不起作用。 – Delete

+0

员工的名称空间是什么?您可能在一个实例中使用业务对象,而在另一个实例中使用数据对象。两者都称为员工,但他们不是同一类型。 –

+0

我不确定您的命名空间是什么意思?我仍然在学习VB/C#代码,所以这是全新的。 – Delete

0

此错误仅表示您无法返回HelpDeskBusinessUserObject类型的HelpDeskBusinessDataObject类型的列表。请将该调用发布到GetAll()方法。

1

你不能简单地在两个不同的命名空间中分配两个类。你需要有一个转换或翻译方法来映射这两个。

错误清楚地说明它与命名空间。 HelpDeskBusinessDataObject VS HelpDeskBusinessUserObject

无法隐式转换类型 System.Collections.Generic.List<HelpDeskBusinessDataObject.Employee> to System.Collections.Generic.List<HelpDeskBusinessUserObject.Employee>

相关问题