是否可以在运行时在DataTable中定义列类型?

时间:2015-06-02 13:50:57

标签: c# datatable system.data system.data.datatable

我想创建一个DataTable,但我不知道编译时列的类型。因此,我希望在运行时决定列类型。

我做了什么:

首先,我从Excel获得一些数据:

var values = "VItDTotal,123,234,234,2345,1234,123,435,10,TestCase,123,234,234,2345,1234,123,435,5"

然后我尝试使用该类型来创建一个列。

[VItDTotal,123,234,234,2345,1234,123,435,10] //1st row
[TestCase, 123,234,234,2345,1234,123,435,5]  //2nd row

我收到错误:

  

类型或命名空间名称' tempCheck'找不到(是你吗?   缺少using指令或程序集引用?)

1 个答案:

答案 0 :(得分:4)

tempCheck已经是一种类型,因此您不需要typeof

myDataTable.Columns.Add(columnName, tempCheck);

typeof是一个运算符,用于从类型名称获取System.Type的实例,这在编译时完成。

错误“无法找到类型或命名空间名称'tempCheck'”,因为typeof正在寻找编译时类型,它实际上正在寻找一种名为tempCheck的类型,像一个班级或代表等。