2011-09-30 84 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中的属性。