2009-09-20 110 views
0

不知道爲什麼我得到這個錯誤。項目被轉換從VS 2005,到2008年VS,但仍與2.0框架..隱式轉換 - 強類型datatable datatable?

image of the error message

這裏是我的泛型類型和約束接口....

public interface ITableAdapter<DT> where DT:System.Data.DataTable 
    { 
    /// <summary> 
    /// Must be called immediately after instantiation in order to pass objects to TransactionHelper 
    /// </summary> 
    void InitializeTransactionHelper(); 
    int Fill(DT pDataTable); 
    DT GetData(); 
    int Update(System.Data.DataRow[] dataRow 

這裏由設計師定義的數據表....

 /// <summary> 
    ///Represents the strongly named DataTable class. 
    ///</summary> 
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")] 
    [global::System.Serializable()] 
    [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")] 
    public partial class TGSP_STORAGEPOOLDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable { 

     private global::System.Data.DataColumn columnSTORAGEPOOLID; 

     private global::System.Data.DataColumn columnPOOLCODE; 

     private global::System.Data.DataColumn columnPOOLDESC; 

那麼2005年和2008年之間爆發????

感謝, [R

+0

沒有答案;你可以直接轉換到DataTable嗎?如果你不能直接使用它(並繞過編譯器),可能會有另一個問題導致你的問題。如果可以的話,我不確定爲什麼編譯器會給你帶來問題。我仍然不完全瞭解與泛型相關的協變/逆變事物... – Will 2009-09-20 23:30:22

回答

0

我發現這個地方的問題是,但與之相關聯的錯誤消息完全是奇怪的。事實證明,我有一個爲另一個文件中的數據表定義的部分類。然後我使用N層數據集屬性將數據表移動到另一個項目。 (請記住這是一個轉換)。這在一個項目中留下了部分課程,而另一部分課程留在了另一個項目中。當我嘗試重新編譯時 - 它拋出了「隱式轉換錯誤」消息。

我在想這是一個非常有趣的錯誤,並且與它有關的消息使得它很難理解和糾正。我只是偶然發現它,因爲我只是因爲它是空的而刪除了部分類!

我在網上發現了關於這個問題的其他文檔 - 所以我希望我的回答是有道理的,並幫助別人拔出他們的頭髮!