Java에서는 import java.lang.reflect.*; , C#에서는 using System.Reflection; 패키지나 네임스페이스를 이용해서 객체의 타입등을 알 수가 있는데 이것을 Actionscript에서 한 번 구현해보고자 간단하게 테스트를 해보았다.
간편하게 리턴 값(return value)을 가진 method의 이름을 얻는것을 목표로 테스트를 했는데 코드는 다음과 같다.
일단 구현은 했지만 이것이 과연 바른 방법인지는 모르겠다.
_global.returnTrue = function ()
{
return true;
}
function findMethod()
{
for(var member in _global)
{
if(typeof _global[member] != "function") continue;
var type = typeof _global[member]();
if(type != "undefined")
{
trace("return type : " + type + newline + "function name : " + member);
} else {
trace("return type : Void" + newline +"function name : " + member);
}
}
}
findMethod();
/* result */
return type : boolean
function name : returnTrue |
|