Partilhar via


WeakEventManager Classe

Definição

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

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)

Aplica-se a

Confira também