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

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(使用前将#替换为@)

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

  • 直接从 Flex 连接任何数据库

    是否可以直接从flex连接任何数据库 您可以使用 Michael 提到的 asSQL 或者使用 Adob e Air 运行时 然而 关于使用这个库必须说一下 从客户端直接建立数据库连接是极其不安全的除非它来自 Adob e Air 因为数据
  • PostSharp 如何在运行时知道某个方面是否应用于方法?

    我正在实现 PostSharp 方面库 但无法找到以下问题的解决方案 假设我们有一个方面将应用于某些方法 而不会应用于其他方法 我需要某种可以在运行时使用的机制来了解某个方面是否应用于方法 具体来说 在运行时确定某些方面是否应用于由 a 给
  • 使用 MP4 编码在 Flash 中流式传输网络摄像头视频

    我正在开发的 Flash 应用程序的功能之一是能够将网络摄像头流式传输给其他人 我们只是使用 Flash 中的内置网络摄像头支持并通过 FMS 发送它 有些人要求更高质量的视频 但我们已经在 Flash 中使用了最高质量设置 将质量设置为
  • Scala 模式与 TypeTag 的泛型匹配会生成警告,而 ClassTag 不会?

    我有两种非常相似的方法 唯一的区别是使用ClassTag and TypeTag def matchClass A ClassTag v Any v match case a A gt it s A case gt not A def ma
  • 在浏览器中创建 bash shell 的可行性如何?

    主要是 我是 Unix 机器上的 C C 程序员 但是我会因为基于浏览器的 shell 访问 Linux 机器而放弃 所以 问题是 这有多难 什么方法最适合在网页中构建真正的 shell 级访问 闪光 JavaScript 我知道这确实是所
  • 使用 Javascript 自定义上下文菜单?

    有没有办法使用 Javascript 将自定义字段添加到内置浏览器上下文菜单中 我知道 flash actionscript 可以做到这一点 他们是如何做到的 示例 右键单击http josephjewell com http joseph
  • 将图像保存在 applicationStorageDirectory 的目录中

    我试图将图像文件保存到我的空气项目的应用程序存储目录中的目录中 首先创建目录 var imageDirectory File File applicationStorageDirectory resolvePath vispics if i
  • Scala:在运行时获取 mixin 接口

    我需要在运行时从给定的类获取所有接口 全部加载在类加载器中 例如 如果一个类是这样声明的 trait B trait C trait D class A extends B with C with D 我想在运行时获取这些信息 A 取决于
  • 如何通过反射判断泛型数组元素的类型?

    我想做的是没有泛型类型很简单 SomeType s new SomeType 5 for int i 0 i lt 5 i s i new SomeType 使用泛型 这就是我到目前为止所拥有的 private static T TypeM
  • Actionscript 3:使用字符串中的名称播放库中的声音

    我正在尝试编写一些 actionscript 3 代码来播放库中的短声音 使用动态创建的字符串来加载它 在 AS2 中 我可以这样做 mySound new Sound mySound attachSound any concatenate
  • 在 Flex 中以 HTTP Post 方式上传任意数据

    我们目前有一个 Java 小程序 可以生成大量数据并将其上传到我们的服务器 我们拥有的上传方法之一是使用 HTTP POST 到我们的服务器 其内容只是原始数据 没有多部分编码或任何内容 我正在考虑实现一个具有相同功能的 Flex 应用程序
  • ActionScript 2 移动对象

    我对 ActionScript 知之甚少 我有一个电影剪辑 我希望当我按下按钮 按钮或影片剪辑 时它沿 x 轴移动我不知道要使用什么代码 因为它需要是 Action Script 2 是否有教程或其他东西可以完成此任务 我找到了一个教程 当
  • Flex 相当于 Google Visualization Geomap(等值线地图)?

    The 谷歌可视化地理地图 http code google com apis visualization documentation gallery geomap html Overview组件是一个等值线地图 http en wikip
  • 从相机录制视频、叠加位图、添加音频、保存到设备,所有这些都在 as3/AIR mobile 中进行

    我的任务是在移动设备上录制来自摄像头的实时视频流 然后覆盖随时间变化的位图 并将音频 mp3 轨道添加到视频文件中 然后将其保存到设备上的某个位置 例如相机胶卷 我看到了一些有用的帖子 主要是这个 AS3 Flash AIR 使用网络摄像头
  • C# 反射属性顺序

    我正在使用代码https stackoverflow com a 531388 528131 https stackoverflow com a 531388 528131要成功地从基类中检索对象实例的所有属性 问题在于首先要迭代派生类型的
  • 如何重置加速度计事件 As3

    在我的项目中 在游戏开始时加速计事件工作正常 当游戏到达游戏结束页面并单击重新启动按钮时 重新启动整个游戏时 所有对象都工作良好 所有值也已重置 但加速计不起作用 提前致谢 代码如下 if Accelerometer isSupported
  • DatagramSocket bind() 和 connect() 区别?

    我读了文档 http help adobe com en US FlashPlatform reference actionscript 3 flash net DatagramSocket html 但尚不清楚两者之间有什么区别bind
  • 垃圾收集最佳实践

    如果您要从显示列表中删除某个 MovieClip 并且该 MovieClip 又具有具有自己的事件侦听器的子 MovieClip 则是否有必要从子 MovieClip 中删除所有侦听器 或者只是直接从显示列表中删除的父级 MovieClip
  • 反射找不到对象子类型

    我试图通过使用反射来获取包中的所有类 当我使用具体类的代码 本例中为 A 时 它可以工作并打印子类信息 B 扩展 A 因此它打印 B 信息 但是当我将它与对象类一起使用时 它不起作用 我该如何修复它 这段代码的工作原理 Reflection
  • Flex PopUpManager:如何检测模式弹出窗口的存在?

    我的 Flex 3 应用程序有一些通过 PopUpManager 显示的模式对话框 但有时我希望其他视图组件知道有弹出窗口显示 PopUpManager 没有任何方法来实际检查弹出窗口是否存在 有没有其他方法可以在 flash flex 中

随机推荐