2011-09-30 85 views
0

我正在寫Flex DataGridColumn類的擴展。我想覆蓋可編輯和可排序的屬性,以便我可以在setter中分派一個事件。於是我擡起頭從Adobe文檔的方法簽名(我使用Flex 3.5編譯器):Flex不兼容覆蓋,bug?

語言版本:ActionScript 3.0

實施

public function get editable():Boolean 
public function set editable(value:Boolean):void 
public var sortable:Boolean 

我應該能夠同時覆蓋setter可編輯,並使用setter來覆蓋可排序的功能。

在我的代碼

我:

public override function set editable(value:Boolean):void { 
    super.editable = value; 
    //code to dispatch event 
} 

public override function set sortable(value:Boolean):void{ 
    super.sortable = value; 
    //code for event 
} 

不過,我得到一個#1023錯誤:不兼容的覆蓋。我已經嘗試了方法簽名上的各種組合,但這些與上述文檔中的組合完全相同。

什麼給?我錯過了明顯的東西嗎?

編輯:顯然文檔不符合實際的源代碼。 DataGridColumn.as中的變量都是可編輯的和可排序的。無論如何,我可以用setter/getter來覆蓋它們而無需修改基類? DataGridColumn.as來源:

public var editable:Boolean = true; 
public var sortable:Booelan = true; 

回答

1

你不能覆蓋物業(獲取/套)變量。 BTW,editablesortable成爲SDK 4.0中的屬性。