#.net #vb.net
#.net #vb.net
Вопрос:
У меня есть этот класс CMember. Я пишу что-то вроде
Dim moMember As CMember
moMember = New CMember
Затем я хочу установить переменную в ее свойство CentreId:
moMember.CentreId = CentreNumber
Оба являются целыми числами, однако генерируется исключение Object Refrence Not Set, ПОЧЕМУ?
Комментарии:
1. Должно быть, это часть кода, который вы нам не предоставили. Отладчик также должен предоставить дополнительную информацию.
Ответ №1:
Я предполагаю, что это moMember
не null
так, но установщик свойств ( CentreId
) использует некоторое внутреннее состояние, которое у меня правильно настроено, и, как следствие, генерирует исключение. Классическим примером было бы событие, вызываемое без проверки на нуль, как и некоторый внутренний объект, который содержит состояние. Проверьте установщик, чтобы увидеть, что происходит. Если присваиваемое вами значение ( CentreNumber
) является свойством, оно также может быть передано оттуда; опять же: проверьте средство получения.
Для класса возможно new
вернуть null
, но только в крайнем случае, который не может произойти случайно. Таким образом, я очень сомневаюсь, что это moMember
есть null
— отладчик сообщит вам достаточно быстро.
Ответ №2:
Если между инициализацией и установкой нет другого кода, то CentreId
не должно быть никакого способа moMember
использовать значение null. Возможно, исключение возникает во время построения CMember
.