AS3: Как напечатать текущий класс в операторе трассировки для отладки? - PullRequest
1 голос
/ 04 марта 2010

Есть ли в AS3 оператор, который будет возвращать текущий класс и / или область? Я хотел бы использовать это в операторах трассировки, чтобы знать точное местоположение трассы.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 04 марта 2010

Вы можете использовать this.getQualifiedClassName () для имени текущего класса.

Вам потребуется импортировать пакет flash.utils, чтобы использовать его ...

0 голосов
/ 04 марта 2010

Надеюсь, это не звучит снисходительно, но для отслеживания текущей области используйте следующее:

trace( this ) ;

Однако, исходя из того, как вы сформулировали свой вопрос, я предполагаю, что вы ищете что-то вроде иерархического вывода. Если это так, вам будет трудно получить это, если ваши объекты не реализуют соглашение о дочерних / родительских элементах, например, список отображения. Если это так, или вы выполняете трассировку из экранных объектов, вы можете написать рекурсивную функцию для отслеживания иерархии.

Кроме того, trace () будет использовать метод объекта toString () для определения строки, которая должна появиться на панели вывода. Чтобы адаптировать ваши операторы трассировки, переопределите эту функцию, если она уже существует в вашем классе, или создайте ее. Например:

override public function toString():String
{
    return "This is what I want to appear in the output panel when this object is traced";
}
...