Generics 隐式转换-强类型datatable到datatable?
我不知道为什么会出现这个错误。该项目已从VS2005转换为VS2008,但仍使用2.0框架 这是我的泛型类型和约束的接口Generics 隐式转换-强类型datatable到datatable?,generics,partial-classes,Generics,Partial Classes,我不知道为什么会出现这个错误。该项目已从VS2005转换为VS2008,但仍使用2.0框架 这是我的泛型类型和约束的接口 public interface ITableAdapter<DT> where DT:System.Data.DataTable { /// <summary> /// Must be called immediately after instantiation in order to pass objects to Trans
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我发现了这个问题的所在,但是与之相关的错误消息是完全错误的。事实证明,我在另一个文件中为datatable定义了一个分部类。然后,我使用N层dataset属性将datatable移动到另一个项目。记住这是一个转换。这就在一个项目中留下了一部分类,而另一半类在另一个项目中。当我尝试重新编译时,它抛出了隐式转换错误消息 我认为这是一个非常有趣的bug,它所涉及的消息传递使得它很难理解和纠正。我只是偶然发现它,因为我删除部分类只是因为它是空的
我在网上找不到关于这个问题的其他文档,所以我希望我的回答有意义,并能帮助其他正在拔头发的人 没有答案;您可以直接转换到DataTable吗?如果您不能直接强制转换它并绕过编译器,那么可能还有另一个问题导致您出现问题。如果可以,我不知道为什么编译器会给你出问题。我仍然不完全理解泛型的协变/逆变的含义。。。