|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
ветеран форума
|
Как узнать откуда вызван статический метод?
Есть некий утилитный класс со статическим методом. Возможно ли узнать, не передавая ссылку, из какого класса или даже метода вызывается этот метод?
Например: package { public class SomeUtils { static public function foo():void { var context:* = // откуда вызван этот метод, например что вызван из SomeClass.someMethod trace("Метод вызван из: " + context); } } }
__________________
trace("Остановите Землю, я сойду!!!"); |
|
|||||
можно попробовать пройтись по стеку
__________________
я могу стать всем, если только захочу |
|
|||||
Регистрация: Mar 2008
Сообщений: 215
|
|
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Это работает только в debug-плеере.
|
|
|||||
__________________
я могу стать всем, если только захочу |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
|
|
|||||
ветеран форума
|
etc, красивее уже некуда.
Всем огромное спасибо. Update: Раз уж затеял кашу, хочу закончить красиво Вот только с регулярными выражениями не дружу, и времени нет разбираться, может кто-то подскажет по элегантнее решение чем то что получилось у меня? var caller:String = new Error().getStackTrace(); caller = caller.split("at ")[2]; caller = "line:" + caller.substring(caller.lastIndexOf(":") + 1, caller.length - 3) + " >> " + caller.substr(0, caller.indexOf(")") + 1); trace("caller >> " + caller + " >> " + new Date().toLocaleTimeString());
__________________
trace("Остановите Землю, я сойду!!!"); Последний раз редактировалось Mur4ik; 15.10.2009 в 13:36. |
|
|||||
Регистрация: Mar 2008
Сообщений: 215
|
|
Часовой пояс GMT +4, время: 00:49. |
|
« Предыдущая тема | Следующая тема » |
|
|