1

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

我试过的:

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

Type tempCheck = (dynamic)(xlRange.Cells[1, currentColumnsCount] as Excel.Range).Value2.GetType();

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

myDataTable.Columns.Add(columnName, typeof(tempCheck.GetType());

我得到错误:

找不到类型或命名空间名称“tempCheck”(您是否缺少 using 指令或程序集引用?)

4

1 回答 1

4

tempCheck已经是一种类型,所以你不需要typeof

myDataTable.Columns.Add(columnName, tempCheck);

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

错误“找不到类型或命名空间名称'tempCheck'”即将出现,因为typeof它正在寻找编译时类型,它实际上是在寻找一个名为 的类型tempCheck,例如类或委托等。

于 2015-06-02T13:54:15.270 回答