语言版本 : | ActionScript 3.0 |
RuntimeVersions: | AIR 1.0, Flash Player 9 |
返回 name
参数指定的类的类对象引用。
参数
name:String — 类的名称。 |
返回
Object — 返回 name 参数指定的类的类对象引用。 |
引发
ReferenceError — 不存在具有指定名称的公共定义。 |
(注:如果尝试对密封(非动态)对象使用未定义属性的引用,将引发 ReferenceError 异常。引用未定义变量将导致 ReferenceError 异常,通知您潜在的错误并帮助您排除应用程序代码故障。
但是,引用动态类的未定义属性不会引发 ReferenceError 异常。
)
示例
以下示例使用
GetDefinitionByNameExample
类在舞台上创建一个橙色的正方形。这是使用以下步骤完成的:
- 声明代表橙色背景颜色和 80 像素大小的变量,这些变量稍后将用于绘制正方形。
- 在构造函数内,将 Class 类型的变量
ClassReference
赋予 Sprite。 - 对名为
instance
的 ClassReference 的实例进行实例化。 - 由于
instance
按引用是 Sprite 对象,因此可以使用可用于 Sprite 的方法绘制正方形并将其添加到显示列表。
package { import flash.display.DisplayObject; import flash.display.Sprite; import flash.utils.getDefinitionByName; public class GetDefinitionByNameExample extends Sprite { private var bgColor:uint = 0xFFCC00; private var size:uint = 80; public function GetDefinitionByNameExample() { var ClassReference:Class = getDefinitionByName("flash.display.Sprite") as Class; var instance:Object = new ClassReference(); instance.graphics.beginFill(bgColor); instance.graphics.drawRect(0, 0, size, size); instance.graphics.endFill(); addChild(DisplayObject(instance)); } } }