Le code suivant soulève une référence ambiguë à value
au moment de la compilation:référence lorsque Ambigu getter/setter ont différentes visibilités
import flash.display.Sprite;
public class Main extends Sprite
{
private var _value : Number = 0.;
public function get value() : Number { return _value; }
private function set value(v : Number) : void { _value = v; }
public function Main() : void
{
value = 42.;
}
}
Je soupçonne une sorte de bug dans le compilateur, bien que je ne l'ai pas fait lire la norme ECMA.
Avant que quelqu'un demande à ces questions:
- setters privés ne font sens.
- L'ambiguïté existe également avec les espaces de noms personnalisés (qui est le problème auquel je suis confronté).
Je suis d'accord. Merci d'avoir réconforté l'idée. –
Une autre solution consiste à désambiguïser manuellement avec 'private :: value' lorsque cela est possible. –
Wow. Merci pour le conseil. Je ne savais pas que vous pourriez désambiguïser la variable de cette façon. – Sandro