0

継承したばかりの古いActionScriptコードを作成しようとしています。これは、元々は古いバージョンのflex用に作成されたものだと思いますが、言語を学び始めたばかりです。次の行で、修正方法がわからないというエラーが発生します。

import mx.collections.ArrayCollection;
import mx.collections.Sort;
// ...
public var actualModelList : ArrayCollection = new ArrayCollection();
// ...
var actualSort : Sort = actualModelList.sort;

1118: Implicit coercion of a value with static type mx.collections:ISort to a possibly unrelated type mx.collections:Sort.

Sort私はそれがインターフェースを実装していると思いますISortが、私が使った他の言語では、この割り当ては合法のようです。このコードの何が問題になっていますか?

4

2 に答える 2

1

あなたの答えはあなたの質問自体にあります、あなたの言葉で取得しましょう-

SortはインターフェースISortを実装していますが、私が使用した他の言語では、この割り当ては正当なようです。このコードの何が問題になっていますか?

つまり、SortがISortインターフェイスを実装していること、またはISortがSortクラスのベースであると言うことができるので、SortクラスをISortにキャストできますが、その逆は当てはまりません。

于 2013-02-14T09:07:24.507 に答える
0

これはトリックをしました:

var actualSort : Sort = actualModelList.sort as Sort;
于 2013-02-14T01:12:17.753 に答える