arrays - DirectCast(或替代方案)将类型数组中的值作为第二个参数?

标签 arrays vb.net types casting

我正在编写一个 Class 来向通过 ajax 发送复制和粘贴数据的用户明确报告错误。

我正在尝试将 INSERTion 的 Type 正确转换到 SQL Server 中。

用户的数据存储在Object(,)中。 Type 通过 ByVal ColumnTypes() As Type 传递并内联存储:

{
    GetType(Integer), GetType(String), GetType(Integer)
}

例如。

如何将类型数组中的值用作DirectCast的第二个参数(或DirectCast的替代方案)?

DirectCast(thisVariable, ColumnTypes(0))

对于整数

最佳答案

不幸的是,没有办法实现这一点。 DirectCast 表达式只能用于命名类型。本质上是在编译时可解析的值。表达式 ColumnTypes(0) 只能在运行时解析,因此不能以这种方式与 DirectCast 一起使用。

尝试使用 TypeConverter 而不是 DirectCast

TypeConverter.ConvertTo(thisVariable, ColumnTypes(0))

关于arrays - DirectCast(或替代方案)将类型数组中的值作为第二个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17755828/

相关文章:

C++ 对一个巨大的数组执行计算

c# - 如何在运行时在 GridView 中添加动态文本框?

c# - 如何正确舍入和格式化小数?

postgresql - 没有毫秒的时间戳类型的表列?

scala - 左和右类型相同的任何一种的标准特化

c# - 如何在 C# 中检查运行时类型的可分配性?

java - 二分查找总是返回-1?

java - 查找数组最小值的问题

php array_filter function not found or invalid function name 不管我输入什么

vb.net - 连接字符串不正确