裏話は、常に をチェックすることなく、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
CType
col の 2 番目の使用法 (内の 1 つ)に対して次のメッセージが表示されます。
Cannot resolve symbol 'col'
C-Sharper の場合、Callingは CallingCType(Nothing, T)
と同じである必要がありますDefault<T>
これを行うより良い方法はありますか?内の col にアクセスできないのはなぜCType
ですか?