Ссылка на объект не устанавливается на экземпляр объекта при назначении значения Object (целое число) полю Row типа Object (целое число) - PullRequest
0 голосов
/ 20 февраля 2020
Dim size As Integer

Dim PivotDatasource As IEnumerable(Of PivotDrillDownDataRow)

for each row as PivotDrillDownDataRow in PivotDatasource 
   row(dataField.FieldName)=row(dataField.FieldName)+size 

next

1 Ответ

0 голосов
/ 20 февраля 2020

Вы не получаете нулевую ссылку в строке, где вы присваиваете переменную, вы получаете ее в строке выше:

В вашем коде PivotDatasource является нулевым, потому что вы объявили его как переменная, которая содержит объект определенного типа, но вы на самом деле не дали ему никакого значения.

Это приведет к исключению NullReferenceException при попытке выполнить итерацию по нему. Вы не можете перебрать переменную, которая является нулевой, потому что компилятор вызовет (за кадром) вызов ее, чтобы предоставить перечислитель, и если он будет нулевым, этот вызов завершится неудачей

Компилятор также предупредит вас о это перед запуском приложения (см. зеленое волнистое подчеркивание и окно предупреждений):

enter image description here

Чтобы решить проблему, убедитесь, что PivotDatasource инициализирован к значению некоторой коллекции PivotDrillDownDataRow. То, как вы это сделаете, будет непросто сказать, учитывая небольшой фрагмент выложенной вами трески

...