我正在尝试将DbDataReader.GetSchemaTable.DataRow的“DataType”字段值(类型System.Type)存储到System.Type类型的类字段中。
即:
Class MyClass
Private _ColumnName As String
Private _DataType As Type
Sub New(row As DataRow)
_ColumnName = Convert.ToString(row("ColumnName"))
_DataType = row("DataType")
End Sub
End Class
我可以通过强制转换为字符串解决ColumnName的后期绑定问题,但我对如何处理DataType感到茫然。
如果我使用_DataType = row("DataType").GetType
,则存储System.RuntimeType而不是实际类型。
答案 0 :(得分:1)
我相信你想使用Type.GetType(row("DataType"))
,假设row("DataType")
是一个字符串的完整类型名称。
答案 1 :(得分:1)
如果您知道它是Type的实例,请使用DirectCast(row("DataType"), Type)
Class MyClass
Private _ColumnName As String
Private _DataType As Type
Sub New(row As DataRow)
_ColumnName = Convert.ToString(row("ColumnName"))
_DataType = DirectCast(row("DataType"), Type)
End Sub
End Class
答案 2 :(得分:0)
这在数据集中非常相似,
oDataSet.Tables(0).Rows.GetType().ToString
你可以试试这个
_DataType = row(0).GetType.ToString()