public Task RaiseEventAsync(string eventName, object sender, EventArgs eventArgs)
 {
     return(WeakAsyncEventManagerExecutor.RaiseEventAsync <object, EventArgs>(eventName, sender, eventArgs, _delegateWrapperDict));
 }
 public Task RaiseEventAsync <TSender>(string eventName, TSender sender, EventArgs eventArgs) where TSender : class
 {
     return(WeakAsyncEventManagerExecutor.RaiseEventAsync <TSender, EventArgs>(eventName, sender, eventArgs, _delegateWrapperDict));
 }
 public void Remove <TSender>(AsyncEventHandler <TSender> handlerDelegate, [CallerMemberName] string eventName = "") where TSender : class
 {
     WeakAsyncEventManagerExecutor.Remove(eventName, handlerDelegate.Target, handlerDelegate.Method, _delegateWrapperDict);
 }
 public void Remove(AsyncEventHandler handlerDelegate, [CallerMemberName] string eventName = "")
 {
     WeakAsyncEventManagerExecutor.Remove(eventName, handlerDelegate.Target, handlerDelegate.Method, _delegateWrapperDict);
 }
 public void Add <TSender, TEventArgs>(AsyncEventHandler <TSender, TEventArgs> handlerDelegate, [CallerMemberName] string eventName = "") where TSender : class where TEventArgs : class
 {
     WeakAsyncEventManagerExecutor.Add(eventName, handlerDelegate.Target, handlerDelegate.Method, _delegateWrapperDict);
 }