Xamarin Community Toolkit WeakEventManager
Eine Ereignisimplementierung, mit der der Garbage Collector ein Objekt sammeln kann, 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 Ereignishandler auf. |
HandleEvent(TEventArgs, Zeichenfolge) | void | Ruft die Ereignisaktion auf. |
RaiseEvent(object, TEventArgs, string | void | Ruft den Ereignishandler auf. |
RaiseEvent(TEventArgs, string | void | Ruft die Ereignisaktion 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));