我定义了一个类
public class ConsumeTable : DataTable
现在如何能把一个DataTable对象赋给我的类呢?
ConsumeTabel CT = new ConsumeTable;
DataTable DT = new DataTable;
CT = (ConsumeTable)DT;
是这样写法吗?好像不行

解决方案 »

  1.   

    我定义了一个类
    public class ConsumeTable : DataTable
    现在如何能把一个DataTable对象赋给我的类呢?
    ConsumeTabel CT = new ConsumeTable;
    DataTable DT = new DataTable;
    CT = (ConsumeTable)DT;
    是这样写法吗?好像不行
    ==============================
    DT= (DataTable)CT;
    这样倒是可以
      

  2.   

    ConsumeTabel CT = new ConsumeTable;
    DataTable DT = new DataTable;
    CT = (ConsumeTable)DT;
    //这样当然不行
    DT本身是DataTable,而不是ConsumeTabel应该这样:
    DataTable DT = new ConsumeTable();
    CT = (ConsumeTable)DT;
      

  3.   

    ConsumeTable可以转为DataTable再转回来,因为它本质是ConsumeTable
    但本质是DataTable的对象不可能转为ConsumeTable
      

  4.   

    另澄清一个概念:
    装箱与拆箱是object类型与值类型之间的显式转换
    不包含引用类型
      

  5.   

    哦。
    要是是下面这种情况又不能转换的啦。
    DataTable DT = new ConsumeTable();
    DT = "一个含有数据的DataTable";
    CT = (ConsumeTable)DT;