繁体   English   中英

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

[英]Is it possible to define a column type in DataTable at run time?

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

我尝试过的内容:

首先,我从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的类型,例如类或委托等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM