12 mar 2011

Metadata ArrayElementType

Uma das características que mais sinto falta no ActionScript é a “tipagem” dos elementos de objetos do tipo Lista, ou seja, não conseguimos limitar uma lista a trabalhar com apenas um tipo específico de objeto. Acredito que a Adobe sentiu essa mesma falta quando estavam criando a SDK do Flex e criaram a metadata ArrayElementType.

Essa metadata não supri a necessidade que temos no ActionScript mas permite que o compilador faça uma verificação dos tipos de elementos adicionados via MXML.

Que tal ir a um exemplo prático?

Utilizando a metadata.


Em sintaxe: [ArrayElementType(“pacote.Classe”)]

Verificando o erro de compilação para objetos de diferentes tipos.


Na imagem estou tentando adicionar um objeto do tipo String na minha Array de Numbers.

Projeto compilado.


No caso da minha Array ser preenchida corretamente com os elementos do tipo associado, a compilação não gera erro.

Informações adicionais.

Apesar do ganho que temos na verificação em tempo de compilação, a metadata ArrayElementType não é válida quando acessamos o array via ActionScript, por isso a utilizamos quando criamos componentes visuais e não em objetos de negócio como fiz no meu exemplo.

Comments

  • Julio Carneiro
    março 13, 2011 Responder

    se vc quer validação em AS3, tem o Vector, que é um array que só permite objetos de um determinado tipo e é validado tb em AS3.

    peno que Vector não possa ser utilizado como dataprovider 🙁

Leave a Comment