[ArrayElementType] Metadata tag

La metadata, conocida en otros lenguajes como anotaciones, es una potente herramienta para comunicarse con Flex Builder que permite realizar un abanico de tareas que van desde la generación de código hasta chequeos especiales en tiempo de compilación pasando por integración con el sistema de autocompletado del IDE.
En esta entrada veremos el funcionamiento de la anotación ArrayElementType, con la cual podemos definir Arrays tipados en MXML.

Sintaxis

[ArrayElementType("elementType")]
Argumentos:

  • elementType (obligatorio) es un nombre de clase completo. ej: com.madeinflex.Usuario

Posicionamiento

Esta anotación debe situarse antes de la declaración de una variable de tipo Array.

Descripción

La anotación en cuestión permite definir el tipo de dato de los elementos que son aceptados en un Array.
Esta funcionalidad solo está disponible en Flex Builder en tiempo de compilación y cuando declaramos dicho Array mediante MXML.

Ejemplo

Ejemplo.mxml

com/madeinflex/Usuario.as

ListaUsuarios.mxml

Si modificamos Ejemplo.mxml y añadimos un elemento de cualquier tipo que no sea Usuario, por ejemplo un String, obtendremos un error diciendo algo como: “In initializer for usuarios’: type String not assignable to target Array element type”:
Ejemplo de Error

Conclusión

Es un buen ejemplo de integración con Flex Builder a través de metadata pero la funcionalidad en si realmente no es demasiado útil ya que solo funciona para código MXML y en tiempo de compilación.
Nota: Si se requiere tener Arrays tipados en tiempo de ejecución ver la clase __AS3__.vec.Vector disponible a partir de Flash Player 10.

Comparte:



1votos  Vota!!

Acerca de esta entrada