2013-10-13 76 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>

相關問題