是否可以在运行时在DataTable中定义列类型?
本文关键字:定义 类型 DataTable 运行时 是否 | 更新日期: 2023-09-27 17:52:48
我想创建一个数据表,但我不知道在编译时列的类型。因此,我希望在运行时决定列的类型。
我试过了:
首先,我从Excel中得到一些数据:
Type tempCheck = (dynamic)(xlRange.Cells[1, currentColumnsCount] as Excel.Range).Value2.GetType();
然后我尝试使用该类型创建一个列。
myDataTable.Columns.Add(columnName, typeof(tempCheck.GetType());
我得到错误:
类型或命名空间名称'tempCheck'找不到(您是否缺少using指令或程序集引用?)
tempCheck
已经是一个类型,所以您不需要typeof
:
myDataTable.Columns.Add(columnName, tempCheck);
typeof
是一个操作符,用于从类型名称中获取System.Type
的实例,并且在编译时完成。
错误"类型或命名空间名称'tempCheck'无法找到"即将出现,因为typeof
正在寻找编译时类型,它实际上是在寻找名为tempCheck
的类型,如类或委托等。