コード例 #1
0
        protected void InnerSubscribe(Delegate subscriber, IDelegateInvokeStrategy strategy)
        {
            using (var @lock = m_lockScope.Writer(Timeout))
            {
                if ([email protected])
                {
                    throw new TimeoutException("Subscribe has timed out");
                }

                m_subscribers.Add(new Pair <Delegate, IDelegateInvokeStrategy>(subscriber, strategy));
            }

            if (g_traceInfo.IsVerboseEnabled)
            {
                var subscriberName = GetSubscriberName(subscriber);
                TraceHelper.TraceVerbose(g_traceInfo, "{0} - Added '{1}' subscription for '{2}'",
                                         Name, subscriberName.Second, subscriberName.First);
            }
        }
コード例 #2
0
ファイル: Topic`1.cs プロジェクト: kouweizhong/relib
 public void Subscribe(Action <T> subscriber, IDelegateInvokeStrategy strategy)
 {
     InnerSubscribe(subscriber, strategy);
 }
コード例 #3
0
ファイル: DelegateRef.cs プロジェクト: kouweizhong/relib
 public DelegateRef(Delegate @delegate, IDelegateInvokeStrategy strategy)
 {
     m_delegate = @delegate;
     m_strategy = strategy;
 }