A savoir: une classe qui étend une classe dynamique doit elle-même être dynamique


Comme indiqué dans Extending the Array class, une classe qui étend une classe dynamique doit elle-même être dynamique sous peine de ne pas fonctionner.

public class MyArray extends Array {
    // ...
}

public function test() : void {
    var myArray:MyArray = new MyArray;
    myArray.push({ text: "test" });

    var x:Object = myArray[0];
    // cause un ReferenceError "Property 0 not found and no default value provided"
}

Pour que ce code fonctionne, il faut que la définition de la classe MyArray soit:

dynamic public class MyArray extends Array {
    // ...
}
Share

, ,

Les commentaires sont fermés.