Проверьте, есть ли у класса метод - PullRequest
12 голосов
/ 31 января 2010

Можно ли проверить класс, чтобы увидеть, есть ли у него метод или нет? Или даже определенное свойство

Ответы [ 3 ]

29 голосов
/ 31 января 2010
var target:Object;// = some object
var name:String;// = some name
if(name in target){
    // if property/method exists
}else{
    // if property/method not exists
}
2 голосов
/ 10 октября 2011

Вы также можете вызывать методы / свойства из метода массива / поиска, например: Если он не существует, он будет «неопределенным», что также считается «ложным».

var target:Object;// = some object

if(target["propertyName"]){
    // if property/method exists
}else{
    // if property/method not exists
}
2 голосов
/ 31 января 2010
import flash.utils.describeType;
...
function methodExists(obj:Object,name:String):Boolean
{
        var desc:XML=flash.utils.describeType(obj);
        return (desc.method.(@name==name).length()>0);
}

(Примечание: сделано с макушки головы)

...