Partilhar via


IWeakEventListener Interface

Definição

Fornece suporte de escuta de eventos para as classes que esperam receber eventos por meio do padrão WeakEvent e um WeakEventManager.

public interface class IWeakEventListener
public interface IWeakEventListener
type IWeakEventListener = interface
Public Interface IWeakEventListener
Derivado

Comentários

O WeakEventManager (um dispatcher) encaminha um evento chamando o ReceiveWeakEvent método em classes que implementam essa interface e que foram adicionados como ouvintes chamando WeakEventManager métodos com antecedência.

O principal motivo para seguir o padrão WeakEvent é quando a origem do evento tem um tempo de vida do objeto que é potencialmente independente dos ouvintes de eventos. O uso da expedição de evento central de um WeakEventManager permite que os manipuladores para ouvintes sejam coletados (ou limpos manualmente) mesmo que o tempo de vida do objeto de origem se estenda além dos ouvintes. Por outro lado, uma conexão de evento normal usando += ou sintaxe de evento específica de linguagem equivalente faz com que a fonte potencialmente ainda conectada mantenha uma referência forte aos manipuladores. Isso impede que as referências do ouvinte sejam coletadas em tempo hábil.

Uma situação comum em que as relações entre fontes e ouvintes sugerem que o uso desse padrão é a manipulação de eventos de atualização provenientes de fontes para associações de dados.

Você pode usar o padrão WeakEvent para escutar eventos externos ao seu aplicativo. Você só precisa definir um WeakEventManager para ele, fornecer comportamento ReceiveWeakEventde escuta e usar o WeakEventManager para anexar as referências do manipulador em vez de +=.

Métodos

ReceiveWeakEvent(Type, Object, EventArgs)

Recebe eventos do gerenciador de eventos centralizado.

Aplica-se a

Confira também