1

这就是我得到的:

public var myDynamicClass:MovieClip;

我想在运行时将其转换为此类。

public class MyWishClass extends MovieClip{
    public var myId:String;
}

一个解决方案是做下一件事:

   myDynamicClass.myId = null as String;

问题在于我在下一行中变得错误:

myDynamicClass instanceOf MyWishClass 

我能做些什么?

编辑: 基本上我在运行时更改动态类,通过添加他的属性,我想将它转换为另一个已经获得这些属性的类。

4

3 回答 3

1

找到了,

答案是否定的:(这是不可能的......

我所做的唯一工作是创建新的 MyWishClass 并将 myDynamicClass 传递给他,所以他基本上是在扭曲他。

于 2012-05-22T17:57:05.887 回答
0

不完全理解你的问题,但是..

你不能这样做吗?

public var myDynamicClass:MyWishClass;
/* --- */
myDynamicClass = new MyWishClass();
myDynamicClass.myId = "some string";
于 2012-05-02T14:28:49.587 回答
0

您将其键入为 MovieClip,因此它将始终是 MovieClip,除非您将其创建为 MyWishClass 或按以下方式键入:

public class MyWishClass extends MovieClip{
    public var myId:String;
}

然后在其他地方:

public var myDynamicClass:MovieClip = new MyWishClass();

MyWishClass(myDynamicClass).myId = "test";

或将其创建为:

public var myDynamicClass:MyWishClass = new MyWishClass();
于 2012-05-02T16:12:05.813 回答