public void AddEvent(string eventName, InstallerEventHandler instEventHandler) { lock (_eventTable) { if (!_eventTable.ContainsKey(eventName)) { _eventTable[eventName] = new List <InstallerEventHandler>(); } //add event name to the table _eventTable[eventName].Add(instEventHandler); #if DEBUG Logger.GetLogger().Info("Adding to event " + eventName + " the method " + instEventHandler.Method.DeclaringType.Name + "." + instEventHandler.Method.Name); #endif } }
public void RemoveEvent(string eventName, InstallerEventHandler instEventHandler = null) { lock (_eventTable) { if (instEventHandler == null) { _eventTable.Remove(eventName); #if DEBUG Logger.GetLogger().Info("Removing from event " + eventName + " all methods."); #endif } else { _eventTable[eventName].Remove(instEventHandler); #if DEBUG Logger.GetLogger().Info("Removing from event " + eventName + " the method " + instEventHandler.Method.DeclaringType.Name + "." + instEventHandler.Method.Name); #endif } } }