33using System . Reflection ;
44
55using static System . String ;
6+ using System . Runtime . CompilerServices ;
67
78namespace AsyncAwaitBestPractices
89{
@@ -17,10 +18,10 @@ public class WeakEventManager
1718 /// <summary>
1819 /// Adds the event handler
1920 /// </summary>
20- /// <param name="eventName">Event name</param>
2121 /// <param name="handler">Handler</param>
22+ /// <param name="eventName">Event name</param>
2223 /// <typeparam name="TEventArgs">EventHandler type</typeparam>
23- public void AddEventHandler < TEventArgs > ( string eventName , EventHandler < TEventArgs > handler )
24+ public void AddEventHandler < TEventArgs > ( EventHandler < TEventArgs > handler , [ CallerMemberName ] string eventName = "" )
2425 where TEventArgs : EventArgs
2526 {
2627 if ( IsNullOrWhiteSpace ( eventName ) )
@@ -35,9 +36,9 @@ public void AddEventHandler<TEventArgs>(string eventName, EventHandler<TEventArg
3536 /// <summary>
3637 /// Adds the event handler
3738 /// </summary>
38- /// <param name="eventName">Event name</param>
3939 /// <param name="handler">Handler</param>
40- public void AddEventHandler ( string eventName , EventHandler handler )
40+ /// <param name="eventName">Event name</param>
41+ public void AddEventHandler ( EventHandler handler , [ CallerMemberName ] string eventName = "" )
4142 {
4243 if ( IsNullOrWhiteSpace ( eventName ) )
4344 throw new ArgumentNullException ( nameof ( eventName ) ) ;
@@ -96,10 +97,10 @@ public void HandleEvent(object sender, object args, string eventName)
9697 /// <summary>
9798 /// Removes the event handler
9899 /// </summary>
99- /// <param name="eventName">Event name</param>
100100 /// <param name="handler">Handler</param>
101+ /// <param name="eventName">Event name</param>
101102 /// <typeparam name="TEventArgs">EventHandler type</typeparam>
102- public void RemoveEventHandler < TEventArgs > ( string eventName , EventHandler < TEventArgs > handler )
103+ public void RemoveEventHandler < TEventArgs > ( EventHandler < TEventArgs > handler , [ CallerMemberName ] string eventName = "" )
103104 where TEventArgs : EventArgs
104105 {
105106 if ( IsNullOrEmpty ( eventName ) )
@@ -114,9 +115,9 @@ public void RemoveEventHandler<TEventArgs>(string eventName, EventHandler<TEvent
114115 /// <summary>
115116 /// Removes the event handler.
116117 /// </summary>
117- /// <param name="eventName">Event name</param>
118118 /// <param name="handler">Handler</param>
119- public void RemoveEventHandler ( string eventName , EventHandler handler )
119+ /// <param name="eventName">Event name</param>
120+ public void RemoveEventHandler ( EventHandler handler , [ CallerMemberName ] string eventName = "" )
120121 {
121122 if ( IsNullOrEmpty ( eventName ) )
122123 throw new ArgumentNullException ( nameof ( eventName ) ) ;
0 commit comments