/// <summary> /// Registers a handler for reporting the event to Tealium. /// </summary> /// <param name="d"></param> /// <param name="evt"></param> private static void RegisterForEvent(DependencyObject d, EventInfo evt) { ReferenceTracker.TrackReference(d); Type handlerType = evt.EventHandlerType; var dm = typeof(TealiumEventBehavior).GetTypeInfo().GetDeclaredMethod("EventActionHandler"); var executemethodinfo = dm.CreateDelegate(evt.EventHandlerType, null); WindowsRuntimeMarshal.AddEventHandler( del => (EventRegistrationToken)evt.AddMethod.Invoke(d, new object[] { del }), token => evt.RemoveMethod.Invoke(d, new object[] { token }), executemethodinfo); }
public TealiumEvent() { this.Parameters = new Collection <ParameterValue>(); ReferenceTracker.TrackReference(this); }