Qual é o uso de Invoke () em .net?
Pergunta
Eu encontrei este código:
this.Invoke(new EventHandler(EventGetSum));
Não é este o mesmo que escrever:
EventGetSum();
Qual é a utilidade disso?
Solução
Se você escrever EventGetSum()
que imediatamente chamadas o método EventGetSum.
Se você escrever new EventHandler(EventGetSum)
que cria um delegado que (por sua vez) chamar EventGetSum quando é invocado.
A chamada para Control.Invoke
invoca o delegado dada a partir do segmento interface do usuário responsável pelo controle. Isso é necessário porque você não deve elementos da interface de acesso de tópicos arbitrários.
Outras dicas
Ele executa o método EventGetSum
do fio para que o this
janela pertence.
Este é normalmente utilizado quando se lida com chamadas segmento interface do usuário cruzadas.
Observe a documentação do MSDN para ISynchronizeInvoke.