PDA

Просмотр полной версии : Узнать имя функции имея на неё только ссылку


mayakwd
03.07.2008, 16:27
Возможно ли такое?
Абстрактно это выглядит так:

class Queue {
public function addToQueue (fChange : Function) : Void {
тут некие преобразования
и мне необходимо получить вот здесь имя самой функции например "Change1"
}
}

Ктонибудь знает как это реализовать не передавая вторым параметром имя функции? toString() выдает [type Function]

crazyone
03.07.2008, 17:01
Никак.
Если я ничего не пропустил.

Alex_beginner
03.07.2008, 17:44
Function это тоже объект и в нем также можно создавать свойства, например, свойство name, которое и будет содержать имя функции, если, конечно, Вы его туда запишите.

Пример:

Код класса:

class Queue {
public function addToQueue (fChange : Function) : Void
{
trace(fChange.name);
}
function Queue()
{
//Создавать конструктор, хоть и пустой - хороший стиль программирования
}
}

Код на _root:

import Queue;

var myVar:Queue = new Queue();

function testFunc():Void
{
trace("Ура! Здесь тельце функции");
}

testFunc.name = "имя_моей_функции";

myVar.addToQueue(testFunc);// Выведет имя_моей_функции