WeakEventManager Classe

Definição

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
WeakEventManager
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 true se algumas entradas foram realmente removidas da lista.

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)

Aplica-se a

Confira também