WeakEventManager Clase

Definición

Proporciona una clase base para el administrador de eventos que se usa en el modelo de evento débil.Provides a base class for the event manager that is used in the weak event pattern. El administrador agrega y quita los agentes de escucha para los eventos (o las devoluciones de llamada) que también usan el modelo.The manager adds and removes listeners for events (or callbacks) that also use the pattern.

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
Herencia
WeakEventManager
Derivado

Comentarios

Normalmente se usa el patrón de evento débil cuando el origen del evento tiene una duración de objeto que es independiente de los agentes de escucha de eventos.You typically use the weak event pattern when the event source has an object lifetime that is independent of the event listeners. El uso de la capacidad central de distribución de eventos WeakEventManager de un permite que los controladores del agente de escucha se recopilen como elementos no utilizados, incluso si el objeto de origen persiste.Using the central event dispatching capability of a WeakEventManager allows the listener's handlers to be garbage collected even if the source object persists. Por el contrario, un enlace de eventos normal += mediante el operador hace que el origen potencialmente desconectado contenga una referencia a los agentes de escucha.By contrast, a regular event hookup using the += operator causes the potentially disconnected source to hold a reference to the listeners. Esto evita que el receptor se recopile a tiempo.This prevents the receiver from being garbage collected in a timely fashion.

Una situación común en la que las relaciones de duración entre orígenes y agentes de escucha deben usar el patrón de evento débil es el control de eventos de actualización procedentes de enlaces de datos.One common situation where the lifetime relationships between sources and listeners should use of the weak event pattern is the handling of update events coming from data bindings.

El modelo de evento débil también se puede usar para las devoluciones de llamada y eventos regulares.The weak event pattern can also be used for callbacks and regular events.

Notas a los implementadores

Para obtener un ejemplo de un WeakEventManagerpersonalizado, vea patrones de eventos débiles.For an example of a custom WeakEventManager, see Weak Event Patterns.

Constructores

WeakEventManager()

Inicializa los valores de la clase base cuando el constructor de una clase derivada los usa como inicializador.Initializes base class values when it is used as the initializer by the constructor of a derived class.

Propiedades

Dispatcher

Obtiene el objeto Dispatcher al que está asociado DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Heredado de DispatcherObject)
Item[Object]

Obtiene o establece los datos que se almacenan para el origen especificado.Gets or sets the data being stored for the specified source.

ReadLock

Establece un bloqueo de lectura en la tabla de datos subyacente y devuelve IDisposable.Establishes a read-lock on the underlying data table, and returns an IDisposable.

WriteLock

Establece un bloqueo de escritura en la tabla de datos subyacente y devuelve IDisposable.Establishes a write-lock on the underlying data table, and returns an IDisposable.

Métodos

CheckAccess()

Determina si el subproceso de la llamada tiene acceso a DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Heredado de DispatcherObject)
DeliverEvent(Object, EventArgs)

Entrega el evento que se administra a cada agente de escucha.Delivers the event being managed to each listener.

DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList)

Entrega el evento que se administra a cada agente de escucha en la lista proporcionada.Delivers the event being managed to each listener in the provided list.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetCurrentManager(Type)

Devuelve la implementación de WeakEventManager que se usa para el tipo proporcionado.Returns the WeakEventManager implementation that is used for the provided type.

GetHashCode()

Sirve como función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
NewListenerList()

Devuelve un nuevo objeto para contener agentes de escucha para un evento.Returns a new object to contain listeners to an event.

ProtectedAddHandler(Object, Delegate)

Agrega el delegado especificado como controlador de eventos del origen especificado.Adds the specified delegate as an event handler of the specified source.

ProtectedAddListener(Object, IWeakEventListener)

Agrega el agente de escucha proporcionado al origen proporcionado para el evento que se administra.Adds the provided listener to the provided source for the event being managed.

ProtectedRemoveHandler(Object, Delegate)

Quita el controlador agregado anteriormente del origen especificado.Removes the previously added handler from the specified source.

ProtectedRemoveListener(Object, IWeakEventListener)

Quita un agente de escucha previamente agregado del origen proporcionado.Removes a previously added listener from the provided source.

Purge(Object, Object, Boolean)

Quita las entradas del agente de escucha inactivas de la lista de datos para el origen proporcionado.Removes inactive listener entries from the data list for the provided source. Devuelve true si se quitaron realmente algunas entradas de la lista.Returns true if some entries were actually removed from the list.

Remove(Object)

Quita todos los agentes de escucha del origen especificado.Removes all listeners for the specified source.

ScheduleCleanup()

Solicita que se realice una purga de entradas no usadas en la lista de agentes de escucha subyacente en un subproceso de menor prioridad.Requests that a purge of unused entries in the underlying listener list be performed on a lower priority thread.

SetCurrentManager(Type, WeakEventManager)

Establece el administrador actual para el tipo de administrador especificado.Sets the current manager for the specified manager type.

StartListening(Object)

Cuando se invalida en una clase derivada, inicia la escucha para el evento que se administra.When overridden in a derived class, starts listening for the event being managed. Después de llamar al método StartListening(Object) por primera vez, el administrador debe estar en el estado de llamar a DeliverEvent(Object, EventArgs) o DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) cada vez que se administre el evento pertinente del origen proporcionado.After the StartListening(Object) method is first called, the manager should be in the state of calling DeliverEvent(Object, EventArgs) or DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) whenever the relevant event from the provided source is handled.

StopListening(Object)

Cuando se invalida en una clase derivada, deja de realizar escuchas en el origen proporcionado para el evento que se administra.When overridden in a derived class, stops listening on the provided source for the event being managed.

ToString()

Devuelve un valor de tipo string que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
VerifyAccess()

Exige que el subproceso de la llamada tenga acceso a DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Heredado de DispatcherObject)

Se aplica a

Consulte también: