Actionscript 3 内省——函数名称

2024-02-19

我试图迭代对象的每个成员。对于每个成员,我检查它是否是一个函数。如果它是一个函数,我想获取它的名称并根据函数的名称执行一些逻辑。我不知道这是否可能。是吗?有小费吗?

example:

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(...);
    }

}

我很难找到做这件事的很多东西。谢谢您的帮助。


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

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(...);
    }
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Actionscript 3 内省——函数名称 的相关文章

随机推荐

  • C++ 中的简单事件系统

    我正在为我的游戏引擎设计一个简单的事件系统 我想实现以下事件调度程序接口 Create event dispatcher Dispatcher dispatcher Create objects b and c Created object
  • 使用音频队列处理中断

    我正在开发一个音频流媒体 并声明了一个中断侦听器 以在发生中断 例如来电或短信 时保存歌曲的状态 这是相关代码 在我的 AppDelegate 中 我有这个 AudioSessionInitialize NULL NULL interrup
  • 类型错误:不可散列的类型:'dict'

    这段代码给了我一个错误 TypeError unhashable type dict 谁能向我解释一下解决方案是什么 negids movie reviews fileids neg def word feats words return
  • 如何在 Android 中读取和写入 csv 文件?

    我想将 8 个整数存储到 csv 文件中 文件名将作为 EditText 的输入 并在需要时检索它们 要获取文件名 您可以使用以下命令 EditText fileNameEdit EditText getActivity findViewB
  • 增加 GO 中的堆大小

    有没有办法指示 GO 运行时使用更大的堆 我在跑步GO 1 5 我的 GO 进程目前在 GC 上花费了 34 的时间 但它只使用了 1 3 的可用系统内存 I know ulimit可用于限制最大堆大小 我已将 ulimit 设置为 16G
  • 我可以在我的 Azure 管道中使用 2 个代理池吗?

    我有一个自托管代理 它用作一种部署代理 我们软件的所有发行版本均由该代理构建 然后复制到网络位置 问题 有没有办法可以在管道中同时利用 azure pipelines Microsoft 托管池和我自己的自托管池中的代理 EDIT 不幸的是
  • 从脚本并行 nmap 数千个子网的最佳方法是什么?

    为了清点 A 类网络部分中的端口 我使用 nmap 将其扫描为数千个 C 类网络 我使用并行方式同时运行 32 个子网扫描作业 脚本的最小化版本 while read subnet do echo nmap Pn p tcpport sub
  • Azure 媒体服务将作业回调编码为 URL

    仅使用 REST API 我就可以将文件从本地计算机上传到 Azure 媒体服务并启动编码作业 然后我需要轮询作业的状态以查看它何时完成 但是 我真正想要的是 Azure 媒体服务在完成后向我的回调 URL 发送请求 有办法做到这一点吗 查
  • 在 laravel 4 中测试过滤器

    我是 Laravel 的新手 我正在尝试测试身份验证是否适用于我的网站 并且我想在测试用例中测试身份验证过程 我创建一个内存中的 sqlite 数据库 创建一个新用户并使用 gt save eloquent 的方法将其存储在数据库中 我设置
  • ALSA 记录 - 了解内存映射

    我尝试使用 ALSA 从 USB 音频设备获取输入并将其作为一系列内容写入磁盘signed short价值观 我最终得到的是看似有效的数据块 其中散布着大块的零 我猜测我的缓冲区设置不正确并且没有正确使用内存映射 我正在尝试什么 采样率 8
  • Autofac 注册程序集类型

    在 Castle 中 我曾经执行以下操作来注册来自不同程序集的类型 Classes FromAssemblyNamed MyServer DAL Where type gt type Name EndsWith Repository Wit
  • 重叠绝对定位的内容

    我遇到了一些困难这一页 http louiswalch com beta t urs 它几乎可以正常工作 红色框应位于窗口的中心 h v 作品 黄色框应贴在窗口底部 作品 当窗口小于 400 像素高时 应出现滚动条 并且黄色框应出现在滚动区
  • 按第二列中的时间戳合并多个日志文件

    我有同一天的多个日志文件 我想要做的是根据日志中的时间戳将它们合并为一个Perl script 日志 1 log 2014 06 02 21 54 38 805 INFO com HomeManeger Executor Thread 19
  • 我们怎么知道这是数组中的最后一个元素?

    我有以下代码 int array 5 1 0 1 0 0 int i for i 0 i lt 5 i if array i 1 printf found one n 我们怎么知道第二个1 in the array是最后一个1我们发现 我的
  • 查找每个点坐标属于哪个国家/地区[重复]

    这个问题在这里已经有答案了 我有一个带有纬度 经度坐标的数据框 head COORD LAT LON 1 69 34 16 17 2 69 20 17 92 3 69 59 17 87 4 69 17 18 52 5 69 42 18 95
  • 多选 PHP

  • 用 Spirit Qi 解析成 std​​::vector,出现段错误或断言失败

    我使用 Spirit Qi 作为解析器 将数学表达式解析为表达式树 我跟踪诸如解析时遇到的符号类型之类的事情 并且必须在我正在解析的文本中声明这些符号 也就是说 我正在解析贝尔蒂尼输入文件 http bertini nd edu Berti
  • 有 libclang 的教程吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我一直在寻找一些易于理解的 libclang 指南 我在这里或其他论坛上看到了一些帖子 但唯一推荐的信
  • 如何使用 ef core 1 在 UWP 中运行迁移

    我不知道如何使用 EntityFramework Commands 也是 v7 0 0 rc1 final 在 EntityFramework Core v7 0 0 rc1 final 中运行迁移 当我添加迁移 Add Migration
  • Actionscript 3 内省——函数名称

    我试图迭代对象的每个成员 对于每个成员 我检查它是否是一个函数 如果它是一个函数 我想获取它的名称并根据函数的名称执行一些逻辑 我不知道这是否可能 是吗 有小费吗 example var mems Object getMemberNames