示例#1
0
        public DistributeEventResult distributeEvent(object sender, EEventArgs args)
        {

            if (_handler != null)
            {
                Delegate[] inv = _handler.GetInvocationList();
                DistributeEventResult er = new DistributeEventResult(this);
                     for (int i = 0; i < inv.Length; i++)
                {
                    HandlerEvent he = (HandlerEvent)inv[i];
                    if (_startInThread)
                    {
                        he.BeginInvoke(sender, args, CompliteEventDistribute, he);
                    }
                    else
                    {

                        er.AddEventResult(he.Invoke(sender, args));
                    }
                }
                     return er;
            }
           
            
            return null;
        }
示例#2
0
        public DistributeEventResult distributeEvent(object sender, EEventArgs args)
        {
            if (_handler != null)
            {
                Delegate[]            inv = _handler.GetInvocationList();
                DistributeEventResult er  = new DistributeEventResult(this);
                for (int i = 0; i < inv.Length; i++)
                {
                    HandlerEvent he = (HandlerEvent)inv[i];
                    if (_startInThread)
                    {
                        he.BeginInvoke(sender, args, CompliteEventDistribute, he);
                    }
                    else
                    {
                        er.AddEventResult(he.Invoke(sender, args));
                    }
                }
                return(er);
            }


            return(null);
        }