您可以使用以下语法对实例(超类或子类)进行向上或向下转换:
var i:MyClass = MyClass(instance);
但as
关键字的作用是什么?
var i:MyClass = (instance as MyClass);
他们是等同的吗?或者我在这里错过了一些东西......
答案 0 :(得分:4)
用几句话说:
as
是一名运营商。 The reference states:“如果第一个操作数是数据类型的成员,则结果是第一个操作数。否则,结果是值null”假设你有一个A类和一个B类。
var s:String = "4a";
trace(s as int);//null
trace(int(s));//4
var b:B = new B();
trace(b as A);//null
trace(A(b));//throws an error
格尔茨
back2dos
答案 1 :(得分:2)
This article很好地解释了。
答案 2 :(得分:0)
您也可以阅读Casting Performance中涉及的性能问题。