Share via


Xamarin Community Toolkit WeakEventManager

Eine Ereignisimplementierung, die es dem Garbage Collector ermöglicht, ein Objekt zu sammeln, ohne Ereignishandler kündigen zu müssen.

Inspiriert von Xamarin.Forms. WeakEventManager.

Syntax

public WeakEventManager<TEventArgs>()

Methoden

Methoden Rückgabetyp BESCHREIBUNG
AddEventHandler(EventHandler<TEventArgs>, string eventName) void Fügt den Ereignishandler hinzu.
AddEventHandler(Action<TEventArgs>, string eventName) void Fügt den Ereignishandler hinzu.
RemoveEventHandler(EventHandler<TEventArgs>, string eventName) void Entfernt den Ereignishandler.
RemoveEventHandler(Action<TEventArgs>, string eventName) void Entfernt den Ereignishandler.
HandleEvent(object, TEventArgs, string void Ruft den Ereignis-EventHandler auf.
HandleEvent(TEventArgs, string) void Ruft das Ereignis Action auf.
RaiseEvent(object, TEventArgs, string void Ruft den Ereignis-EventHandler auf.
RaiseEvent(TEventArgs, string) void Ruft das Ereignis Action auf.

Beispiele

In diesem Abschnitt wird gezeigt, wie Sie diesen Typ verwenden.

Verwenden von EventHandler<T>

readonly WeakEventManager<string> _errorOcurredEventManager = new WeakEventManager<string>();

public event EventHandler<string> ErrorOcurred
{
    add => _errorOcurredEventManager.AddEventHandler(value);
    remove => _errorOcurredEventManager.RemoveEventHandler(value);
}

void OnErrorOcurred(string message) => _errorOcurredEventManager.RaiseEvent(this, message, nameof(ErrorOcurred));

<Aktion T verwenden>

readonly WeakEventManager<string> _weakActionEventManager = new WeakEventManager<string>();

public event Action<string> ActionEvent
{
    add => _weakActionEventManager.AddEventHandler(value);
    remove => _weakActionEventManager.RemoveEventHandler(value);
}

void OnActionEvent(string message) => _weakActionEventManager.RaiseEvent(message, nameof(ActionEvent));

API