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ń opisLastChangeDate

Datagridview 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?

questionAnswers(1)

yourAnswerToTheQuestion