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) |