2

裏話は、常に をチェックすることなく、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

CTypecol の 2 番目の使用法 (内の 1 つ)に対して次のメッセージが表示されます。

Cannot resolve symbol 'col'

C-Sharper の場合、Callingは CallingCType(Nothing, T)と同じである必要がありますDefault<T>

これを行うより良い方法はありますか?内の col にアクセスできないのはなぜCTypeですか?

4

1 に答える 1