Sem usares o XML de introspecção vai ser difícil. Pressupondo que sejam value objects, se souberes o serial de versão e estrutura do VO poderias montar um handler consoante a versão. Se não sabes nada disso resta-te : A) usares o XML e fazeres cache dele B) tentares o hasProperty com as variações possíveis Não sei o que será mais rápido. Tudo depende do contexto On 3 Aug 2015 14:24, "Hugo Ferreira" <[email protected]> wrote:
> João, > > Peço desculpa mas não me devo ter expressado bem. > > Imagina que o objecto "entity" tem uma propriedade "name" e eu não sei se > é "name" ou "Name" mas faço > var meuValor:String = entity["Name"] > > O AS3 não vai encontrar o valor porque a propriedade é case-sensitive. > > Fazer entity[field.toLowerCase()] também não me vai resolver o problema > porque a propriedade pode ser Name na realidade. > > Eu sei que é díficil de entender sem contextualizar mas trata-se de uma > migração/correção de modelo de dados já existindo dados. > > Eu posso simplesmente ignorar isto e continuar com o modelo de dados > antigo mas gostaria de corrigi-lo mas se o preço a pagar for de grande > risco ou de grande perda de performance vou manter as coisas tal como estão > dai que eu sei que posso usar a introinspeção do flex obtendo um xml de > toda a estrutura do objecto mas isto vai ser lento e/ou requerer memória > para colocar em cache. > > > Obrigado, > Hugo. > > No dia 3 de agosto de 2015 às 12:25, João Fernandes < > [email protected]> escreveu: > >> Tens sempre a possibilidade de fazer toLowerCase() de ambos os lados e >> funciona quase sempre. Digo quase sempre porque isto não contempla accent >> insensitive o que não irá funcionar neste caso. >> >> Para accent insensitive terás de usar o Collator para comparar 2 >> expressões mas atenção que só funciona para match direto e não para match >> algures na expressão comparada. A propriedade a definir é >> ignoreDiacritics >> <http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/globalization/Collator.html#ignoreDiacritics> >> >> >> funciona >> http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/globalization/Collator.html >> >> 2015-08-03 1:07 GMT+01:00 Hugo Ferreira <[email protected]>: >> >>> Boa noite, >>> >>> Neste exemplo a seguir, se por acaso a propriedade existente no objecto >>> entity for "name" em vez de "Name", o flex não vai localizar uma vez que é >>> case sensitive. >>> >>> var field:String = "Name"; >>> >>> if (entity[field] == sameObject[field]) >>> { >>> } >>> >>> Alguém sabe como tornar isto case insensitive sem perder muito a >>> performance e que preferência se alterar o comportamento a nível global ? >>> >>> PS: Não gostaria de ter de analisar o XML do objectos. >>> >>> -- >>> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da >>> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" do >>> Grupos do Google. >>> Para anular a subscrição deste grupo e parar de receber emails do mesmo, >>> envie um email para [email protected]. >>> Para publicar uma mensagem neste grupo, envie um email para >>> [email protected]. >>> Visite este grupo em http://groups.google.com/group/riapt. >>> Para mais opções, visite https://groups.google.com/d/optout. >>> >> >> >> >> -- >> >> João Fernandes >> >> -- >> Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da >> Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" do >> Grupos do Google. >> Para anular a subscrição deste grupo e parar de receber emails do mesmo, >> envie um email para [email protected]. >> Para publicar uma mensagem neste grupo, envie um email para >> [email protected]. >> Visite este grupo em http://groups.google.com/group/riapt. >> Para mais opções, visite https://groups.google.com/d/optout. >> > > -- > Recebeu esta mensagem porque subscreveu ao grupo "Mailing List da > Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" do > Grupos do Google. > Para anular a subscrição deste grupo e parar de receber emails do mesmo, > envie um email para [email protected]. > Para publicar uma mensagem neste grupo, envie um email para > [email protected]. > Visite este grupo em http://groups.google.com/group/riapt. > Para mais opções, visite https://groups.google.com/d/optout. > -- Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google. Para anular a subscrição deste grupo e parar de receber emails do mesmo, envie um email para [email protected]. Para publicar uma mensagem neste grupo, envie um e-mail para [email protected]. Visite este grupo em http://groups.google.com/group/riapt. Para mais opções, consulte https://groups.google.com/d/optout.
