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.

Responder a