示例#1
0
 public override void Invoke(BaseProtocol p)
 {
     if (Callback != null)
     {
         Callback(p as T);
     }
 }
示例#2
0
        // 模拟从网络端读取协议
        public void SimulateReadDataFromNet()
        {
            const int MAX = 5;
            Random    r   = new Random();

            int cnt = 10;

            while (--cnt > 0)
            {
                // 模拟读取协议id
                int  id = r.Next() % MAX;
                Type t  = ProtocolDict.GetProtocolType(id);
                if (t != null)
                {
                    BaseProtocol p = Activator.CreateInstance(t) as BaseProtocol;
                    if (p != null)
                    {
                        // 模拟读取数据并设置内容
                        p.sth = "123123123";
                        // 然后在模拟派发收到的协议
                        SimulateDispatch(p);
                    }
                }
                else
                {
                    Console.WriteLine("无效的协议号:" + id);
                }
            }
        }
示例#3
0
        public void SimulateDispatch(BaseProtocol b)
        {
            Type pid = b.GetType();

            if (Dict.ContainsKey(pid))
            {
                Dict[pid].Invoke(b);
            }
        }
示例#4
0
 public virtual void Invoke(BaseProtocol p)
 {
 }