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 evento que é usado no padrão de evento fraco. O Gerenciador adiciona e remove os ouvintes de 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 do objeto que é independente dos ouvintes de eventos. O uso da funcionalidade de expedição de evento central de um WeakEventManager permite que os manipuladores do ouvinte sejam coletados como 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 como lixo 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 evento fracos.
Construtores
| WeakEventManager() |
Inicializa os valores da classe base quando é usado como o inicializador pelo construtor de uma classe derivada. |
Propriedades
| Dispatcher |
Obtém o Dispatcher ao qual este 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
| CheckAccess() |
Determina se o thread de chamada tem acesso a este DispatcherObject. (Herdado de DispatcherObject) |
| DeliverEvent(Object, EventArgs) |
Fornece o evento que está sendo gerenciado a cada ouvinte. |
| DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) |
Entrega o evento que está sendo gerenciado a cada ouvinte na lista fornecida. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetCurrentManager(Type) |
Retorna a implementação de WeakEventManager que é usada para o tipo fornecido. |
| GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
| NewListenerList() |
Retorna um novo objeto para conter os ouvintes de um evento. |
| ProtectedAddHandler(Object, Delegate) |
Adiciona o delegado especificado como um manipulador de eventos de origem especificada. |
| ProtectedAddListener(Object, IWeakEventListener) |
Adiciona o ouvinte fornecido à origem 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 do ouvinte inativo da lista de dados para a origem fornecida. Retornará |
| Remove(Object) |
Remove todos os ouvintes da origem especificada. |
| ScheduleCleanup() |
Solicita que uma limpeza de entradas não usadas na lista de ouvintes subjacente seja executada em um thread de prioridade mais baixa. |
| SetCurrentManager(Type, WeakEventManager) |
Define o gerenciador atual para o tipo de gerenciador especificado. |
| StartListening(Object) |
Quando substituído em uma classe derivada, inicia a escuta para o evento que está sendo gerenciado. Depois que o método StartListening(Object) for chamado pela primeira vez, o gerenciador deverá estar no estado de chamada de DeliverEvent(Object, EventArgs) ou de DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) sempre que o evento relevante da origem fornecida for manipulado. |
| StopListening(Object) |
Quando substituído em uma classe derivada, interrompe a escuta da 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 este DispatcherObject. (Herdado de DispatcherObject) |