gpt4 book ai didi

apache-flex - Actionscript 3 自省(introspection)——函数名称

转载 作者:行者123 更新时间:2023-12-04 02:46:03 24 4
gpt4 key购买 nike

我正在尝试遍历对象的每个成员。对于每个成员,我检查它是否是一个函数。如果它是一个函数,我想获取它的名称并根据函数名称执行一些逻辑。我不知道这是否可能。是吗?有什么建议吗?

例子:

var mems: Object = getMemberNames(obj, true);

for each(mem: Object in members) {
if(!(mem is Function))
continue;

var func: Function = Function(mem);

//I want something like this:
if(func.getName().startsWith("xxxx")) {
func.call(...);
}

}

我很难找到很多关于这样做的信息。感谢您的帮助。

最佳答案

你的伪代码接近于做你想做的事。但是,您可以不使用可以获取私有(private)方法的 getMemberNames,而是使用简单的 for..in 循环遍历成员,并使用括号获取成员的值。例如:

public function callxxxxMethods(o:Object):void
{
for(var name:String in o)
{
if(!(o[name] is Function))
continue;
if(name.startsWith("xxxx"))
{
o[name].call(...);
}
}
}

关于apache-flex - Actionscript 3 自省(introspection)——函数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1208418/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com