InvalidCastException на идентичные типы?(да, контекст ... идентичные контексты?) - PullRequest
1 голос
/ 13 февраля 2012

У меня строго напечатан DataTable, по которому я звоню GetChanges:

myApples.CropTable.GetChanges(DataRowState.Deleted)

Я хочу получить доступ к результатам этого, используя мои строго типизированные CropTable и CropRow классы. Поэтому я попытался привести результаты примерно так:

(AppleDataSet.CropDataTable)myApples.CropDataTable.GetChanges(DataRowState.Deleted)

DOINGGGG , InvalidCastException:

[A] CropDataTable не может быть приведен к [B] CropDataTable. Тип А происходит из 'FarmingBO, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = acbff80904caf0cb' в контексте «По умолчанию» в месте 'C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Временные файлы ASP.NET \ Farming \ 3b503e68 \ 8f2b701b \ assembly \ dl3 \ 8d20c3b3 \ a16c5196_27eacc01 \ FarmingBO.DLL'. Тип B происходит из 'FarmingBO, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = acbff80904caf0cb' в контексте «По умолчанию» в месте 'C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Временные файлы ASP.NET \ Farming \ 3b503e68 \ 8f2b701b \ assembly \ dl3 \ 8d20c3b3 \ a16c5196_27eacc01 \ FarmingBO.DLL'.

Это только у меня, или эти типы совершенно идентичны?

1 Ответ

0 голосов
/ 13 февраля 2012

Если ваша таблица со строгим типом не перегружает метод GetChanges, она не вернет CropDataTable, а вместо этого базовую DataTable.

Единственный способ получить строго типизированный CropDataTable - скопировать все строки из возвращенного DataTable

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...