WeakEventManager Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece uma classe base para o gerenciador de eventos que é usado no padrão de evento fraco. O gerente adiciona e remove ouvintes para eventos (ou retornos de chamada) que também usam 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
Comentários
Normalmente, você usa o padrão de evento fraco quando a origem do evento tem um tempo de vida de objeto independente dos ouvintes de eventos. Usar a funcionalidade de expedição de evento central de um WeakEventManager permite que os manipuladores do ouvinte sejam coletados de lixo mesmo que o objeto de origem persista. Por outro lado, uma conexão de evento regular usando o += operador faz com que a fonte potencialmente desconectada mantenha uma referência aos ouvintes. Isso impede que o receptor seja coletado em tempo hábil.
Uma situação comum em que as relações de tempo de vida entre fontes e ouvintes devem usar o padrão de evento fraco é o tratamento de eventos de atualização provenientes de associações de dados.
O padrão de evento fraco também pode ser usado para retornos de chamada e eventos regulares.
Notas aos Implementadores
Para obter um exemplo de um personalizado WeakEventManager, consulte Padrões de Eventos Fracos.
Construtores
| Nome | Description |
|---|---|
| WeakEventManager() |
Inicializa valores de classe base quando é usado como inicializador pelo construtor de uma classe derivada. |
Propriedades
| Nome | Description |
|---|---|
| Dispatcher |
Obtém o Dispatcher que DispatcherObject está associado. (Herdado de DispatcherObject) |
| Item[Object] |
Obtém ou define os dados que estão sendo armazenados para a origem especificada. |
| ReadLock |
Estabelece um bloqueio de leitura na tabela de dados subjacente e retorna um IDisposable. |
| WriteLock |
Estabelece um bloqueio de gravação na tabela de dados subjacente e retorna um IDisposable. |
Métodos
| Nome | Description |
|---|---|
| CheckAccess() |
Determina se o thread de chamada tem acesso a isso DispatcherObject. (Herdado de DispatcherObject) |
| DeliverEvent(Object, EventArgs) |
Entrega o evento que está sendo gerenciado para cada ouvinte. |
| DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) |
Fornece o evento que está sendo gerenciado para cada ouvinte na lista fornecida. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetCurrentManager(Type) |
Retorna a WeakEventManager implementação usada para o tipo fornecido. |
| GetHashCode() |
Serve como a função hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| NewListenerList() |
Retorna um novo objeto para conter ouvintes para um evento. |
| ProtectedAddHandler(Object, Delegate) |
Adiciona o delegado especificado como um manipulador de eventos da origem especificada. |
| ProtectedAddListener(Object, IWeakEventListener) |
Adiciona o ouvinte fornecido à fonte fornecida para o evento que está sendo gerenciado. |
| ProtectedRemoveHandler(Object, Delegate) |
Remove o manipulador adicionado anteriormente da origem especificada. |
| ProtectedRemoveListener(Object, IWeakEventListener) |
Remove um ouvinte adicionado anteriormente da origem fornecida. |
| Purge(Object, Object, Boolean) |
Remove entradas de ouvinte inativas da lista de dados da fonte fornecida. Retorna |
| Remove(Object) |
Remove todos os ouvintes da origem especificada. |
| ScheduleCleanup() |
Solicita que uma limpeza de entradas não utilizados na lista de ouvintes subjacentes seja executada em um thread de prioridade mais baixa. |
| SetCurrentManager(Type, WeakEventManager) |
Define o gerenciador atual para o tipo de gerente especificado. |
| StartListening(Object) |
Quando substituído em uma classe derivada, começa a escutar o evento que está sendo gerenciado. Depois que o StartListening(Object) método for chamado pela primeira vez, o gerente deverá estar no estado da chamada DeliverEvent(Object, EventArgs) ou DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) sempre que o evento relevante da fonte fornecida for tratado. |
| StopListening(Object) |
Quando substituído em uma classe derivada, interrompe a escuta na origem fornecida para o evento que está sendo gerenciado. |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
| VerifyAccess() |
Impõe que o thread de chamada tenha acesso a isso DispatcherObject. (Herdado de DispatcherObject) |