private DelegateDefinition CreateDelegateDefinition(object listener, ObjectInspectionHelper helper) { DelegateDefinition dd = new DelegateDefinition() { eventName = helper.subscribeAttribute.EventName, target = listener, filter = helper.subscribeAttribute.Filter }; dd.delegateToFire = Delegate.CreateDelegate(typeof(EventArgumentDelegate), listener, helper.methodInfo); return(dd); }
public void RegisterForEvent(object listener, string eventName) { if ((listener == null) || (string.IsNullOrEmpty(eventName))) { return; // Invalid arguments } if (IsRegisteredForEvent(listener, eventName)) { return; // already registered } ObjectInspectionHelper helper = ObjectInspector.GetMethodInfoForSubsribedEventEvent(listener, eventName); if (helper != null) { delegateDefinitions.Add(CreateDelegateDefinition(listener, helper)); } }