我有一个绑定到名为“BaseChange”的对象列表的 DataGridView。BaseChange 对象由 4 个属性组成...
- 更改类型
- 更改状态
- 变更说明
- 上次更改日期
datagridview 包含所有 4 个值的列以及第 5 个值(称为“colIsSelected”的复选框列)。将列表绑定到网格并显示项目没有问题。
问题是,在启用选项严格时,获取网格中选定项目的查询给了我一个隐式转换错误。
这是查询...
Dim _changes As List(Of BaseChange)
_changes = (From _row As DataGridViewRow In dgvChanges.Rows() _
Where Convert.ToBoolean(_row.Cells(NAME_COLUMN_IS_SELECTED).Value) = True _
Select DirectCast(_row.DataBoundItem, BaseChange)).ToList()
...并且它会在选项严格关闭的情况下产生正确的结果。隐式转换曲线在“_row As DataGridViewRow”代码上,完整消息是“从 'Object' 到 'System.Windows.Forms.DataGridViewRow' 的隐式转换”。
如果我从查询中排除“As DataGridViewRow”,我会在 _row.Cells 和 _row.DataBoundItem 上收到后期绑定错误,这也会导致选项严格失败。
我需要它来启用 Option Strict 并在 VB 中工作。我在这里错过了什么吗?有人有建议吗?