使用公共getter的内部setter不起作用

Chr*_*igg 4 apache-flex flash actionscript-3 flash-builder

我有一个问题,在AS3中使用Flash Builder 4使用带有内部setter的公共getter给出了错误"property is read only",如下所示:

public function get aVar():int{ return _aVar; }
internal function set aVar(value:int):void { this._aVar = value; }
Run Code Online (Sandbox Code Playgroud)

我使用了一个解决方法:

public function get aVar():int{ return _aVar; }
internal function setAVar(value:int):void { this._aVar = value; }
Run Code Online (Sandbox Code Playgroud)

这似乎是AS3中的一个错误,或者我错过了什么?有谁知道更好的解决方法?

谢谢

Tim*_*dik 5

Getter和Setter必须具有相同的访问类型,这不是错误.

  • 虽然这是事实,但它并不是一个真正的解决方案. (2认同)

sha*_*hat 2

据我所知,getter 和 setter 必须相同,因此要么都是公共的,要么都是内部的。

我目前很难找到支持这一点的文档,尽管我过去在尝试混合公共和私有时也遇到过类似的错误。