2010-03-09 4 views
0

J'ai un NumericStepper déclaré comme UIComponent:Définir propriété de NumericStepper déclarée UIComponent

<![CDATA[ 
private var component:UIComponent; 
component = new NumericStepper(); 
]]> 

Je dois changer la valeur .Maximum du NumericStepper mais en raison du UIComponent ne pas avoir une propriété .Maximum les suivantes le code échoue avec l'erreur: 1119: Accès de la propriété éventuellement indéfini maximum à travers une référence avec le type statique mx.core: UIComponent.

component.maximum = 11; 

Ma question est de savoir comment définir une propriété dans ce scénario?

Répondre

0

Vous pouvez définir en utilisant la syntaxe dynamique/string:

component["maximum"] = 11; 

J'utilise que beaucoup, les seuls inconvénients sont les suivants:

  • une baisse des performances (3-5x), mais étant donné qu'il ne prend que 0.001ms au plus pour définir une propriété, cela n'a pas d'importance.
  • pas la compilation de vérification, de sorte que Flex Builder ne lancera pas des erreurs avant l'exécution
1

Une autre solution, vous pouvez utiliser est « casting »:

var component:UIComponent; 
component = new NumericStepper; 
(component as NumericStepper).maximum = 500; 

Cette compilation a le temps de vérifier, mais je ne sais pas si elle a des "inconvénients"
Espérons que cela aide.

Questions connexes