WeakEventManager Classe

Definição

Fornece uma classe base para o gestor de eventos que é usada no padrão fraco de eventos. O gestor adiciona e remove ouvintes para eventos (ou callbacks) que também utilizam o padrão.

public ref class WeakEventManager abstract : System::Windows::Threading::DispatcherObject
public abstract class WeakEventManager : System.Windows.Threading.DispatcherObject
type WeakEventManager = class
    inherit DispatcherObject
Public MustInherit Class WeakEventManager
Inherits DispatcherObject
Herança
WeakEventManager
Derivado

Observações

Normalmente usas o padrão de evento fraco quando a fonte do evento tem uma vida útil do objeto que é independente dos ouvintes do evento. A utilização da capacidade central de despacho de eventos permite WeakEventManager que os handlers do ouvinte sejam recolhidos de lixo mesmo que o objeto de origem persista. Em contraste, uma ligação regular de eventos usando o += operador faz com que a fonte potencialmente desconectada retenha uma referência aos ouvintes. Isto impede que o receptor seja recolhido de lixo atempadamente.

Uma situação comum em que as relações de vida entre fontes e ouvintes devem usar o padrão fraco de eventos é o tratamento dos eventos de atualização provenientes de ligações de dados.

O padrão de eventos fracos pode também ser usado para callbacks e eventos regulares.

Notas para Implementadores

Para um exemplo de um modelo WeakEventManagerpersonalizado, veja Padrões de Eventos Fracos.

Construtores

Name Description
WeakEventManager()

Inicializa valores de classe base quando é usado como inicializador pelo construtor de uma classe derivada.

Propriedades

Name Description
Dispatcher

Percebe o Dispatcher que isto DispatcherObject está associado.

(Herdado de DispatcherObject)
Item[Object]

Obtém ou define os dados armazenados para a fonte especificada.

ReadLock

Estabelece um bloqueio de leitura na tabela de dados subjacente e devolve um IDisposable.

WriteLock

Estabelece um bloqueio de escrita na tabela de dados subjacente e devolve um IDisposable.

Métodos

Name Description
CheckAccess()

Determina se o thread que chama tem acesso a este DispatcherObject.

(Herdado de DispatcherObject)
DeliverEvent(Object, EventArgs)

Apresenta o evento a ser gerido a cada ouvinte.

DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList)

Apresenta o evento a ser gerido a cada ouvinte da lista fornecida.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetCurrentManager(Type)

Devolve a WeakEventManager implementação usada para o tipo fornecido.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
NewListenerList()

Devolve um novo objeto para conter ouvintes a um evento.

ProtectedAddHandler(Object, Delegate)

Adiciona o delegado especificado como gestor de eventos da fonte especificada.

ProtectedAddListener(Object, IWeakEventListener)

Adiciona o ouvinte fornecido à fonte fornecida para o evento a ser gerido.

ProtectedRemoveHandler(Object, Delegate)

Remove o handler previamente adicionado da fonte especificada.

ProtectedRemoveListener(Object, IWeakEventListener)

Remove um ouvinte previamente adicionado da fonte fornecida.

Purge(Object, Object, Boolean)

Remove entradas inativas do ouvinte da lista de dados para a fonte fornecida. Retornos true se algumas entradas foram realmente removidas da lista.

Remove(Object)

Remove todos os ouvintes da fonte especificada.

ScheduleCleanup()

Solicita que uma purga de entradas não utilizadas na lista de ouvintes subjacente seja realizada num thread de prioridade inferior.

SetCurrentManager(Type, WeakEventManager)

Define o gestor atual para o tipo de gestor especificado.

StartListening(Object)

Quando sobrescrito numa classe derivada, começa a ouvir o evento que está a ser gerido. Depois de o StartListening(Object) método ser chamado pela primeira vez, o gestor deve estar no estado de chamada DeliverEvent(Object, EventArgs) ou DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) sempre que o evento relevante da fonte fornecida for tratado.

StopListening(Object)

Quando sobrescrito numa classe derivada, deixa de ouvir na fonte fornecida para o evento a ser gerido.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
VerifyAccess()

Faz cumprir que o thread que chama tem acesso a este DispatcherObject.

(Herdado de DispatcherObject)

Aplica-se a

Ver também