В запросе Linq есть неявная ошибка приведения для DataGridViewRow, если включен строгий параметр
У меня есть DataGridView, который связан со списком объектов под названием «BaseChange». Объекты BaseChange состоят из 4 свойств ...
ChangeType ChangeStatus ChangeDescription LastChangeDateВ сетке данных есть столбцы для всех 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()
... и он дает правильные результаты со строгой опцией off. Неявное приведение в порядок приведено к тегу _row As DataGridViewRow. код и полное сообщение & quot;Implicit conversion from 'Object' to 'System.Windows.Forms.DataGridViewRow'& Quot ;.
Если я исключу & quot; Как DataGridViewRow & quot; из запроса я получаю ошибку позднего связывания для _row.Cells и _row.DataBoundItem, и это также не соответствует строгому параметру.
Мне это нужно для работы с включенным Option Strict и в VB. Я что-то здесь упускаю? У кого-нибудь есть предложения?