Esempio n. 1
0
        public void AddEventHandler(string eventName, Action <dynamic> eventHandler)
        {
            var isFirst = false;

            if (!this._eventsList.TryGetValue(eventName, out var eventItem))
            {
                var eventKey = Guid.NewGuid();
                var @event   = new EventEmitter();
                eventItem = new EventItem(eventKey, @event);
                _eventsList.Add(eventName, eventItem);
                _eventEmittersList.Add(eventKey, @event);
                _connector.EventDictionary.Add(eventKey, this);
                isFirst = true;
            }

            eventItem.Event.Subject += eventHandler;
            if (isFirst)
            {
                _target.AddEventHandler(eventItem.EventKey, eventName);
            }
        }
Esempio n. 2
0
 internal EventItem(Guid eventKey, EventEmitter @event)
 {
     EventKey = eventKey;
     Event    = @event;
 }