2013-02-14 29 views
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.

I'mm假設Sort實現一個接口,ISort,但在其他語言中我曾經使用過,這個任務似乎是合法的。這段代碼有什麼問題?

回答

0

這奏效了:

var actualSort : Sort = actualModelList.sort as Sort; 
+0

它可能有,但你爲什麼不只是讓你的變量是ISORT類型?這樣,你可以確定接口的自定義實現也可以工作。 – weltraumpirat 2013-02-14 06:57:30

+0

這是我嘗試的第一件事,但我得到的錯誤'類型沒有找到或不是一個編譯時常量:ISort.'我沒有意識到我需要單獨導入接口,我現在正在做。 – Cody 2013-02-14 17:56:40

1

你的答案是你的問題本身,讓你的話讓 -

排序實現一個接口,ISort,但在其他語言中我已經合作,這項任務似乎合法。這段代碼有什麼問題?

因此,如你所知,Sort實現了ISort接口,或者可以說ISort是Sort類的基礎,因此Sort類可以投入到ISort中,但反向並不是真實的。