【问题标题】:Flex Incompatible Override, bug?Flex 不兼容覆盖,错误?
【发布时间】:2011-11-28 11:52:20
【问题描述】:

我正在编写 Flex DataGridColumn 类的扩展。我想覆盖可编辑和可排序的属性,以便可以在设置器中调度事件。所以我从 Adob​​e Docs 中查找了方法签名(我使用的是 Flex 3.5 编译器):

语言版本:ActionScript 3.0

实施

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

我应该能够覆盖可编辑的设置器,并使用设置器覆盖可排序的功能。

在我的代码中:

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;

【问题讨论】:

    标签: actionscript-3 apache-flex flex3


    【解决方案1】:

    您不能将变量覆盖为属性(获取/设置)。顺便说一句,editablesortable 在 SDK 4.0 中成为属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-10
      • 2011-01-31
      • 1970-01-01
      • 2011-03-09
      • 1970-01-01
      • 2010-09-29
      • 2021-06-03
      相关资源
      最近更新 更多