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?
Em sintaxe: [ArrayElementType(“pacote.Classe”)]
Na imagem estou tentando adicionar um objeto do tipo String na minha Array de Numbers.
No caso da minha Array ser preenchida corretamente com os elementos do tipo associado, a compilação não gera erro.
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.
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 🙁