/// <summary>
    /// Get Activated event handlers for a registrations
    /// </summary>
    /// <param name="registration">Registration to retrieve events from</param>
    /// <returns>Array of delegates in the event handler</returns>
    private static Delegate[] GetActivatedEventHandlers(IComponentRegistration registration)
    {
        FieldInfo eventHandlerField = registration.GetType().GetField("Activated", BindingFlags.NonPublic | BindingFlags.Instance);
        var       registrations     = eventHandlerField.GetValue(registration);

        System.Diagnostics.Debug.WriteLine(registrations);
        return(registrations.GetType().GetMethod("GetInvocationList").Invoke(registrations, null) as Delegate[]);
    }
Example #2
0
        /// <summary>
        ///     Get Activated event handlers for a registrations
        /// </summary>
        /// <param name="registration">Registration to retrieve events from</param>
        /// <returns>Array of delegates in the event handler</returns>
        private static Delegate[] GetActivatedEventHandlers(IComponentRegistration registration)
        {
            var eventHandlerField = GetRegistrationActivatedField(registration.GetType());
            var registrations     = eventHandlerField.GetValue(registration);

            return(registrations == null
                                ? new Delegate[0]
                                : GetRegistrationInvocationList(registrations.GetType()).Invoke(registrations, null) as Delegate[]);
        }
Example #3
0
        /// <summary>
        /// Get Activated event handlers for a registrations
        /// </summary>
        /// <param name="registration">Registration to retrieve events from</param>
        /// <returns>Array of delegates in the event handler</returns>
        private static Delegate[] GetActivatedEventHandlers(IComponentRegistration registration)
        {
            var eventHandlerField = registration.GetType().GetField("Activated", BindingFlags.NonPublic | BindingFlags.Instance);

            if (eventHandlerField == null) return null;

            var registrations = eventHandlerField.GetValue(registration);

            return registrations.GetType().GetMethod("GetInvocationList").Invoke(registrations, null) as Delegate[];
        }
Example #4
0
 public static string GetComponentRegistrationName()
 {
     return(ComponentHandler.GetType().FullName);
 }