2013-06-29 35 views
0

因爲它會產生一個編譯錯誤,我有路過的List類構造函數的問題:傳遞一個列表,是一類產生的錯誤,列表是字符串不

Cannot convert System.Collections.Generic.List<CupuleAdmin.RoomViewController.Rooms> expression to type System.Collections.Generic.List<CupuleAdmin.TableSource.Rooms>

protected List<Rooms> tableList = new List<Rooms>(); 

public TableSource (List<Rooms> table) 
{ 
    tableList = table; 

} 
public class Rooms 
{ 

    public int id {get;set;} 
    public int room {get;set;} 
    public string desc {get;set;} 

} 

我人口稠密列表中的另一個類 公共類RoomViewController:UIViewController的{

//..... 
    class Rooms 
    { 
     [PrimaryKey] 
     public int id {get;set;} 
     public int room {get;set;} 
     public string desc {get;set;} 

    }  

     var db = new SQLiteConnection(dbPath); 
     var allrooms = db.Query("select * from rooms"); 

}

,然後嘗試將列表傳遞給其他類的構造函數

var table = new UITableView(View.Bounds); 

table.Source = new TableSource(allrooms); 

但我上面的線得到一個編譯錯誤 - 錯誤報告不能轉換System.Collections.Generic.List表達鍵入System.Collections.Generic.List問題。

如果我將列表更改爲類型字符串類編譯好。

在這裏定製​​引用它顯示在我的IDE作爲正確類型的兩種類別的所有情況:​​

是不是有什麼特別的,我需要傳遞一個包含對象的列表時做/類?

回答

3

這很明顯,這裏發生了什麼,你需要知道的一切都在你的錯誤信息中。對於Rooms課程,您有兩個不同的聲明,其中一個在RoomViewController中,另一個在TableSource中,並且似乎在您的課程中泄漏它們。

您需要確保將預期的類型傳遞到TableSource類中。進一步制定,您TableSource構造是這樣的:

public TableSource(List<CupuleAdmin.TableSource.Rooms> table) 
{ 
} 

而你試圖傳遞:

List<CupuleAdmin.RoomViewController.Rooms> allrooms = new List<...>(); 
table.Source = new TableSource(allrooms); 
+0

感謝詹姆斯,得到了答案,修復了 – user2420225

0

確保傳遞正確Type

CupuleAdmin。 RoomViewController .Rooms?

CupuleAdmin。 TableSource .Rooms?

+0

非常感謝你,這是我的問題 - 非常重要!詹姆斯也感謝你,也是對的。也對不起,我把你的標記作爲正確的迴應,但後來認識到詹姆斯是第一個。 – user2420225

相關問題