Kwerenda Linq ma niejawny błąd rzutowania dla DataGridViewRow, gdy włączona jest opcja ścisła
Mam DataGridView, który jest powiązany z listą obiektów o nazwie „BaseChange”. Obiekty BaseChange składają się z 4 właściwości ...
Zmień typZmień statusZmień opisLastChangeDateDatagridview ma kolumny dla wszystkich 4 wartości oraz 5-ty (kolumna z polem wyboru o nazwie „colIsSelected”). Nie ma problemu z powiązaniem listy z siatką i wyświetleniem elementów.
Problem polega na tym, że zapytanie, które pobiera wybrane elementy w siatce, daje mi niejawny błąd rzutowania, gdy włączona jest opcja ścisła.
To jest zapytanie ...
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()
... i daje poprawne wyniki z opcją strict off. Niewyraźne przesunięcie obsady znajduje się w kodzie „_row As DataGridViewRow”, a pełny komunikat to „Niejawna konwersja z „Object” na „System.Windows.Forms.DataGridViewRow”„
Jeśli wykluczę „As DataGridViewRow” z kwerendy, otrzymuję późny błąd wiązania na _row.Cells i _row.DataBoundItem, a to również nie powiedzie się opcja strict.
Potrzebuję tego do pracy z włączoną opcją Option Strict oraz w VB. Czy coś mi umyka? Czy ktoś ma sugestie?