2016-12-08 9 views
1

Я хочу проверить, обладает ли класс родительского класса таким свойством. И если да, то доступ к нему.Как проверить свойство класса SV

if ($cast(this.get_parent(), agent_inst) && agent_inst != "NULL") 
     if (agent_inst.vitf != "NULL") 
      vitf = agent_inst.vitf; 

Теперь, если у agent_inst нет свойства vitf, симулятор выдаст ошибку. Итак, как я могу проверить, имеет ли свойство agent_inst свойство vitf?

Спасибо

ответ

1

У вас есть аргументы для $ cast назад; первый аргумент - целевая переменная, второй - источник. Путь $ cast работает, вы должны были объявить agent_inst с типом класса, который имеет свойство vitf. $ Cast работает только во время выполнения, если исходный объект является типом, совместимым с целевым. Ваш код не будет компилироваться, если не существует agent_inst.vitf.

+0

Да, спасибо за ответ Просто я хотел написать более общий код, когда у моего agent_inst может даже не быть объекта vitf. В таком случае $ cast не помогает – haykp

+0

Если вам нужен более общий код, определите базовый класс агента, обладающий свойством vitf, и у него есть что-то еще, что должен иметь общий агент. –

 Смежные вопросы

  • Нет связанных вопросов^_^