2009-09-20 119 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层数据集属性将数据表移动到另一个项目。 (请记住这是一个转换)。这在一个项目中留下了部分课程,而另一部分课程留在了另一个项目中。当我尝试重新编译时 - 它抛出了“隐式转换错误”消息。

我在想这是一个非常有趣的错误,并且与它有关的消息使得它很难理解和纠正。我只是偶然发现它,因为我只是因为它是空的而删除了部分类!

我在网上发现了关于这个问题的其他文档 - 所以我希望我的回答是有道理的,并帮助别人拔出他们的头发!