背景故事是我希望能够为 DataTable 初始化一个空白行,而不必总是检查DBNull.Value
. 我有一个扩展方法,它创建一个新的空白行,然后用该列的默认类型填充行中的每个值。
<Extension()> _
Public Function NewBlankRow(ByVal table As DataTable) As DataRow
Dim row As DataRow = table.NewRow()
For Each col As DataColumn In table.Columns
row(col.ColumnName) = CType(Nothing, col.DataType)
Next
Return row
End Function
我收到以下关于 col 的第二次使用的消息(其中的那个CType
)
Cannot resolve symbol 'col'
对于 C-Sharper 的,调用CType(Nothing, T)
应该与调用相同Default<T>
有一个更好的方法吗?为什么我不能访问 col inside CType
?