public static IEventDispatcher ForClass(ObjectContainerBase container, IReflectClass
                                                classReflector)
        {
            if (container == null || classReflector == null)
            {
                throw new ArgumentNullException();
            }
            if (!container.DispatchsEvents())
            {
                return(NullDispatcher);
            }
            int count = EventCountFor(container);

            if (count == 0)
            {
                return(NullDispatcher);
            }
            IReflectMethod[] handlers = EventHandlerTableFor(container, classReflector);
            return(HasEventHandler(handlers) ? new EventDispatchers.EventDispatcherImpl(handlers
                                                                                        ) : NullDispatcher);
        }
示例#2
0
 public static IEventDispatcher ForClass(ObjectContainerBase container, IReflectClass
     classReflector)
 {
     if (container == null || classReflector == null)
     {
         throw new ArgumentNullException();
     }
     if (!container.DispatchsEvents())
     {
         return NullDispatcher;
     }
     var count = EventCountFor(container);
     if (count == 0)
     {
         return NullDispatcher;
     }
     var handlers = EventHandlerTableFor(container, classReflector);
     return HasEventHandler(handlers)
         ? new EventDispatcherImpl(handlers
             )
         : NullDispatcher;
 }