/// <summary> /// Aggiunge Item /// </summary> /// <param name="handler"></param> /// <param name="input"></param> /// <param name="output"></param> internal void Add(BusinessSlot.EObjectEvent evt, Type t, BusinessSlot.BDEventPostHandler handler) { SlotEventForTypeQueuePOST q = null; if (!this.TryGetValue(evt, out q)) { q = new SlotEventForTypeQueuePOST(); this.Add(evt, q); } q.Add(t, handler); }
/// <summary> /// Aggiunge Item /// </summary> /// <param name="handler"></param> /// <param name="input"></param> /// <param name="output"></param> internal void Add(Type t, BusinessSlot.BDEventPostHandler handler) { SlotEventSimpleQueuePOST q = null; long lKey = t.TypeHandle.Value.ToInt64(); if (!this.TryGetValue(lKey, out q)) { q = new SlotEventSimpleQueuePOST(); q.HandledType = t; this.Add(lKey, q); } q.Add(handler); }
/// <summary> /// Registra evento per tipo su coda /// </summary> /// <typeparam name="T"></typeparam> /// <param name="evt"></param> /// <param name="func"></param> public void RegisterPostEventHandler <T>(BusinessSlot.EObjectEvent evt, BusinessSlot.BDEventPostHandler func) where T : DataObject <T> { //Aggiunge alla coda Post this.PostEventQ.Add(evt, typeof(T), func); }
/// <summary> /// Registra evento per qualunque tipo /// </summary> /// <param name="evt"></param> /// <param name="func"></param> /// <param name="inputData"></param> /// <param name="outputData"></param> public void RegisterPostEventHandlerForAny(BusinessSlot.EObjectEvent evt, BusinessSlot.BDEventPostHandler func) { //Aggiunge alla coda Post con tipo: oggetto this.PostEventQ.Add(evt, typeof(object), func); }