apache flex - 这个接口分配有什么问题?



我正在尝试构建一些我刚刚继承的旧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,但在我使用过的其他语言中,这个赋值似乎是合法的。这个代码出了什么问题?

你的答案就在你的问题本身,让我们用你的话吧-

Sort实现了一个接口ISort,但在我使用过的其他语言中,这个赋值似乎是合法的。这个代码出了什么问题?

所以,正如您所知,Sort实现了ISort接口,或者可以说ISort是Sort类的基础,所以Sort类可以强制转换为ISort,但反过来则不然。

这就成功了:

var actualSort : Sort = actualModelList.sort as Sort;

最新更新