WeakEventManager Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
- 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 |
| 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) |