我有两个类型定义,如何确定一个类型是否是另一个的基类型?

2024-04-03

我在 ActionScript 3 中有两个类型定义(Class 类型的引用),我需要确定其中一个是否是另一个的基类型(类或接口)。

我本来希望像下面这样的东西会起作用,但遗憾的是它没有:

var isBaseClass:Boolean = MouseEvent is Event;

可以理解为什么没有,但它仍然很好。我也不能使用describeType,因为对于Class类型的对象,它实际上并不返回正确的继承链,而只是返回Class和Object类型,这根本没有帮助。我can在循环中使用 getQualifiedSuperClassName 直到不再有超类或存在匹配项,但它不太理想,并且不适用于针对接口进行类型检查。

有人有更好的主意吗?


这是一个使用describeType 没有问题的实例:http://wonderfl.net/c/h90R http://wonderfl.net/c/h90R

trace(describeType(MouseEvent)..extendsClass)

output :

<extendsClass type="Class"/>
<extendsClass type="Object"/>
<extendsClass type="flash.events::Event"/>
<extendsClass type="Object"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我有两个类型定义,如何确定一个类型是否是另一个的基类型? 的相关文章

  • 插件架构中的反射与属性

    我正在开发一个在启动时从子目录加载插件的应用程序 目前我正在通过使用反射来迭代每个程序集的类型并查找实现 IPluginModule 接口的公共类来实现此目的 由于反射涉及性能影响 并且我预计一段时间后会有多个插件 我想知道定义在程序集级别
  • as3 事件 - 类型强制失败?

    我正在将事件从孩子发送到父母 swf 它工作正常 直到我使用预加载器 swf 加载父级 然后父级停止从子级获取事件 我现在收到此错误 TypeError Error 1034 Type Coercion failed cannot conv
  • 防止 iOS 上的反射(objc/运行时)

    我正在开发一个处理敏感数据的静态库 使用该库的开发人员必须不能在该库上使用反射 在Android上 我们通过开发一个来解决这个问题aar文件与service并运行service进入单独的进程 当服务运行到另一个进程中时 开发人员不能使用反射
  • 使用反射获取静态类列表

    很多问题都很接近 但没有一个能回答我的问题 如何使用 C 3 5 中的反射从程序集中获取所有静态类 我已经定义了所有类型 但没有 IsStatic 属性 计算 0 个构造函数确实很慢 而且也不起作用 有什么提示或一行代码吗 Chris 以下
  • Actionscript 对象的属性数量

    如何获取通用 Actionscript 对象中的属性数量 如数组长度 您必须循环所有元素才能对它们进行计数 function objectLength myObject Object int var cnt int 0 for var s
  • TypeDescriptor 不返回继承接口的成员

    我的问题是 TypeDescriptor 不从继承的接口返回成员 这是它应该如何工作的吗 或者这是一个错误 TestFixture public class DescriptorTests Test public void Test cou
  • 通过反射获取给定类的可访问方法列表

    有没有办法获取给定类可访问 不一定是公共 的方法列表 有问题的代码将属于完全不同的类 Example public class A public void methodA1 protected void methodA2 void meth
  • 在 Scala 中调用反射案例类构造函数

    我可以通过静态反射获取案例类的默认构造函数 val symbol currentMirror classSymbol myObj getClass typeSignature typeSymbol asClass val ctor symb
  • 在动态事件处理程序中引用“this”

    在我的 myClass 类中 我使用 Reflection Emit 为 myClass 类成员之一动态编写事件处理程序 我已经成功地做到了这一点 现在 我想修改事件处理程序以调用 myClass 类中的实例方法之一 但是 我无法弄清楚如何
  • 将日期转换为 UTC 的正确方法

    如果这个问题没有多大意义 我很抱歉 但我是 Actionscript 的新手 并且想知道您是否可以帮助我解决这个问题 我正在构建一个给定时区的应用程序 告诉您该位置的时间 当我使用时区为 GMT UTC 的位置时 它效果很好 但如果主机上的
  • Flash 未在调试播放器中显示错误/堆栈跟踪(firefox/chrome/whatnot)

    我正在尝试调试在线默默地失败的应用程序 我 100 确定我正在运行 Flash 调试播放器 为了确保我不会丢失它 我故意抛出一个错误 但 Flash 在浏览器中没有显示任何 stracktrace 我快要失去它了 有什么线索吗 我正在 ch
  • 如何在as3中不询问的情况下写入外部文件

    我有这个代码 var fileRef FileReference new FileReference fileRef save ciao coso lingua txt 在现有的 lingua txt 文件上写入 该脚本有效 但每次他保存时
  • 更改由 AS3 添加到舞台的影片剪辑中的动态文本字段不起作用?

    当我更改动态文本字段的文本值时 文本字段只是变为空白 而不显示新值 我有一个名为 game board 的 MovieClip 由 AS3 动态添加到舞台上 舞台一开始是空白的 我有另一个名为 stage 2 的 MovieClip 它作为
  • Qemu flash 启动不起作用

    我有一本相当旧的 2009 年出版 嵌入式 ARM Linux 书 其中使用u boot and qemu 的用法qemu与u boot书中对二进制的解释如下 qemu system arm M connex pflash u boot b
  • 在 C# 中加密并在 Flex 中解密

    我需要解密 Flex 中的一些数据 这些数据是用 C 加密并写入文件的 为了简单起见 我选择使用 as3crypto As3 库和 Bruce Schneier C 库 AS3 as3加密链接 http code google com p
  • Java获取编译时安全方法名

    在使用反射类和注释时 我发现没有明确的方法以编译时安全的方式引用方法名称 我真正想要的是能够在注释中引用方法 可能看起来像 CallAfter method Foo class foo void Bar 目前 您只能使用字符串来执行此操作
  • 将数组从 Flash (AS3) 发送到 JavaScript

    是否可以使用ExternalInterface 调用将数组从Flash AS3 发送到JavaScript 我目前正在 Flash 内的 foreach 循环中多次调用一个函数 但速度太快 JavaScript 无法跟上 我的想法是创建一个
  • 如何通过命令行将Flash .fla编译为.swf? [复制]

    这个问题在这里已经有答案了 如何在基于 Windows 的操作系统上通过命令行将 Flash fla 文件编译为 swf 需要安装的命令行工具就可以了 谁能建议我该怎么做 以直接的方式 谢谢 您可以使用JSFL为 Flash IDE 编写脚
  • 在 Javascript 中检测 Flash 文件何时完成播放

    我正在使用 Javascript 将 Flash 文件嵌入到网站中 然后需要在播放完成后将其删除 有没有办法用普通的 Javascript 来做到这一点 或者是否需要将回调类型的函数添加到 Flash 文件本身 我该如何编码 JavaScr
  • 使用 flash 或 java servlet 将麦克风数据从浏览器上传到服务器的教程? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 There was a question on how to get data from a microphone on a client

随机推荐