Как получить строку псевдонима класса в AS3? - PullRequest
4 голосов
/ 06 января 2009
var alias:String = 'models.User';
registerClassAlias(alias, models.User);

// If I have the alias, then
// I can get the class like this:
var klass:Class = flash.net.getClassByAlias(alias);

// How do I do the reverse
// (get the alias from the class)?
//
// I want to do this, but I can't find a 
// 'getAliasByClass' function.
alias = getAliasByClass(klass);

Ответы [ 3 ]

1 голос
/ 07 января 2009

getQualifiedClassName должно сработать.

alias = flash.utils.getQualifiedClassName( klass );
// should return: "models::User"

Вы можете передать ему ссылку на класс или экземпляр класса в любом случае.

1 голос
/ 06 января 2009

Взгляните на flash.utils.describeType ()

0 голосов
/ 09 ноября 2009

Как указано выше, вы можете вызвать flash.utils.describeType () и использовать «отражение» в классе объекта Actionscript для запроса атрибутов, свойств, методов объекта.

Например, следующий фрагмент кода для ObjectCodec.as , кажется, извлекает атрибут псевдонима с помощью "@":

override protected function encodeComplex(o:Object, b:IBinary, context:IContext=null):void
{
        var desc:XML = describeType(o);
        var classAlias:String = desc.@alias;
        //...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...