Passando um método como parâmetro no flex
Olá a todos, novamente venho mostrar uma dica que poderá ser usada em ocasiões específicas. Quem está acostumado a programar sempre usa metódos ou funções com passagens de parâmetros, objetos, string, int, long e por ai vai. Mas além de parâmetros em alguns casos também seria interessante passar o método todo e não somente um objeto, e isto é possivel no flex com as3. Abaixo segue o código de exemplo:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" creationComplete="init();">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
private function init():void{
//Passa um metodo como parametro
recebeMetodo(meuMetodo);
}
private function meuMetodo():void{
Alert.show("Executou meu metodo");
}
private function recebeMetodo(fnc:Function):void{
//Nesta linha e como se estive sendo chamando meuMetodo();
fnc();
}
]]>
</mx:Script>
</mx:Application>
No exemplo à cima logo no inicio chamamos o método “recebeMetodo” ele recebe como parâmetro uma Function, no nosso caso foi passo “meuMetodo” que simplemente joga uma mensagem na tela, mais poderia realizar qualquer operação tal com atualizar toda a tela.
Para efeito prático, imagine duas telas onde uma telas precisa chamar o método que esta na outra.
Por hoje e só, até à próxima.

Comentários