コード例 #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);
        }