Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 21.07.2010, 15:18
himmens вне форума Посмотреть профиль Отправить личное сообщение для himmens Найти все сообщения от himmens
  № 1  
Ответить с цитированием
himmens

Регистрация: Jun 2010
Адрес: Москва
Сообщений: 8
По умолчанию Определить имя функции из тела самой функции

Всем привет!
Может кто знает, возможно ли определить имя функции (объявленное в каком либо классе) из тела самой функции.

Определить ссылку на функцию легко:
Код AS3:
arguments.callee
А как получить ее имя?

Приведу пример:
Код AS3:
package
{
	import flash.display.Sprite;
 
	public class FunctionsTest extends Sprite
	{
		public function FunctionsTest()
		{
			super();
			testFunction();
		}
 
		private function testFunction():void
		{
			//можно, конечно вывести так
			trace("testFunction")
		}
	}
}
Но хочется какой-то универсальный способ, чтобы не писать каждый раз trace с именем функции.

Пробовал через describeType:
Код AS3:
trace(describeType(arguments.callee));
Выдает что-то типа:
Код AS3:
<type name="builtin.as$0::MethodClosure" base="Function" isDynamic="false" isFinal="true" isStatic="false">
  <extendsClass type="Function"/>
  <extendsClass type="Object"/>
  <accessor name="length" access="readonly" type="int" declaredBy="builtin.as$0::MethodClosure"/>
  <accessor name="prototype" access="readwrite" type="*" declaredBy="builtin.as$0::MethodClosure"/>
</type>
Но тут нужной информации нет.

Для чего это нужно? Просто было бы удобно логировать вызовы функций.

Создать новую тему   Часовой пояс GMT +4, время: 09:03.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 09:03.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.