03.08.2015, 17:39 | #1 |
Участник
|
Проверка на null
Есть следующий код плагина:
X++: if (postImageEnt.Contains("someattribute")) { EntityReference someattributeER = postImageEnt.GetAttributeValue<EntityReference>("someattribute"); if (someattributeER == null) return; /* код */ } X++: if (someattributeER == null) return; |
|
03.08.2015, 18:01 | #2 |
Чайный пьяница
|
Да. В контексте может быть нул. Например когда происходит очищение поля. Всё зависит от того, что вы анализируете. Если это допустим таргет из контекста, то там может быть нул. Если же вы получаете данные из CRM, то проверки на наличие/отсутствие поля - будет достаточно.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
03.08.2015, 18:12 | #3 |
Участник
|
В данном случае postImageEnt берется из PostImage контекста.
Цитата:
Например когда происходит очищение поля.
Или когда, например, в js-скрипте стоит принудительное setSubmitMode("always") на это поле? Последний раз редактировалось magicandy; 03.08.2015 в 18:19. |
|
03.08.2015, 18:30 | #4 |
Чайный пьяница
|
Например когда в поле записи есть значение а затем (источник не важен - это может быть форма CRM, вызов CRM эндпоинта и т.д.) выполняют очищение поля (присваивают полю значение null).
Ньюансов по поводу формирования Пост-Имедж не знаю, но предполагаю, что для формирования имаджа выполняется т.н. грязное чтение записи, так что скорее всего если поле не содержит данных, то и в коллекции аттрибутов его не будет.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: magicandy (1). |
03.08.2015, 19:08 | #5 |
Участник
|
Если вы всегда будет проверять EntityReference на Null из target или image, ничего страшного не произойдет. Куда хуже, когда в плагинах на продакте вываливается NullReferenceExeption, если на этапе тестирования вроде все возможные комбинации не были проверены.
|
|
|
За это сообщение автора поблагодарили: magicandy (1). |
04.08.2015, 23:56 | #6 |
Участник
|
Ну, что ж, будем проверять . Спасибо.
|
|
|
|