Pergunta

Estou trabalhando em um front end Flex no momento e tenho usado o Salsinha estrutura para passar mensagens/eventos por aí.

Eu queria saber se existe uma maneira simples de uma função (neste caso, o construtor de um evento) para obter uma referência ao objeto que o chamou?

Isso é para garantir que um certo evento que eu esteja definindo só possa ser despachado por uma classe especificada. Meu pensamento é verificar o chamador do construtor de alguma forma e lançar um erro se não for do tipo correto.

Estou aberto a sugestões de abordagens alternativas aqui, mas idealmente gostaria de manter o uso da abordagem de 'MessageHandler' da salsa, se possível.

Obrigado por ler caras ..

Foi útil?

Solução

O Stack Trace funciona, mas você pode passar com muito mais facilidade uma referência ao chamador para a função e digite verificar.

function dispatchEvent(caller:*):void {
   if(caller is SpecificClass) {
      // then dispatch event
   }
}

Outras dicas

Isenção de responsabilidade: não estou familiarizado com a salsa.

Ver Stack Trace em ActionScript 3. Você pode obter a função de chamadas no rastreamento da pilha.

Há uma coisa. O rastreamento da pilha só pode ser detectado no modo de depuração e, por meu conhecimento, não há como obter o chamador no modo de "produção".

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top