В ActionScript3, как Вы получаете ссылку на класс объекта?

Вы можете попробовать следующим образом

 Вы можете попробовать   следующим образом   

[110] = function ( $v ) { return $v; }; function config($url) { return $url; } $username = 'u_name'; echo "{

Вы можете попробовать следующим образом

[110]( config('app.url') )}/{$username}";

6
задан ThinkingStiff 29 June 2012 в 08:03
поделиться

2 ответа

Можно использовать constructor свойство, если Ваш объект был создан из класса (из документов: "Если объект является экземпляром класса, свойство конструктора содержит ссылку на объект класса. Если объект создается с функцией конструктора, свойство конструктора содержит ссылку на функцию конструктора".):

var classRef:Class = myObject.constructor as Class;

Или можно использовать flash.utils.getQualifiedClassName() и flash.utils.getDefinitionByName() (не очень хороший путь, так как это влечет за собой ненужную обработку строк в реализациях этих библиотечных функций):

var classRef:Class = getDefinitionByName(getQualifiedClassName(myObject)) as Class;
5
ответ дан 8 December 2019 в 17:28
поделиться

Стоит отметить, что объекты XML (XML, XMLList) являются исключением к этому (т.е. (новый XML () как Объект) .constructor как Класс == пустой указатель). Я рекомендую отступить к getDefinitionByName (getQualifiedClassName), когда конструктор не решает:

function getClass(obj : Object) : Class
{
    var cls : Class = (obj as Class) || (obj.constructor as Class);

    if (cls == null)
    {
        cls = getDefinitionByName(getQualifiedClassName(obj));
    }

    return cls;
}

Обратите внимание, что getDefinitionByName бросит ошибку, если класс будет определен в другом (включая ребенка) домен приложения из кода вызова.

9
ответ дан 8 December 2019 в 17:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: