/// <summary> /// AddMsgIdCall /// </summary> /// <param name="msgId"></param> /// <param name="call"></param> /// <param name="state"></param> public virtual void AddMsgIdCall(int msgId, MsgDataCall call, object state = null) { MsgIdCallModel callInfo = new MsgIdCallModel() { Id = msgId, Call = call, State = state }; this.MsgIdCallDic[msgId] = callInfo; }
private void OnMsgIdCall(MsgData msg, MsgIdCallModel callInfo) { if (callInfo == null || callInfo.Call == null) { return; } callInfo.Call(this, msg, callInfo.State); callInfo.State = null; }
private MsgIdCallModel GetMsgIdCall(int msgId) { #if NET20 MsgIdCallModel callInfo = this.MsgIdCallDic[msgId]; this.MsgIdCallDic.Remove(msgId); #else MsgIdCallModel callInfo; this.MsgIdCallDic.TryRemove(msgId, out callInfo); #endif return(callInfo); }