Ejemplo n.º 1
0
        /// <summary>
        ///  根据具体的消息类型执行相关的消息委托方法(基础消息)
        /// </summary>
        /// <typeparam name="TRecMsg"></typeparam>
        /// <param name="recMsgXml"></param>
        /// <param name="recMsgDirs"></param>
        /// <param name="func"></param>
        /// <returns></returns>
        private static MsgContext ExecuteBasicMsgHandler <TRecMsg>(string recMsgXml,
                                                                   IDictionary <string, string> recMsgDirs, Func <TRecMsg, BaseReplyMsg> func)
            where TRecMsg : BaseRecMsg, new()
        {
            var msgContext = new MsgContext();

            var recMsg = WxMsgHelper.GetMsg <TRecMsg>(recMsgDirs);

            recMsg.RecMsgXml = recMsgXml;

            msgContext.ReplyMsg = ExecuteHandler(recMsg, func);
            msgContext.RecMsg   = recMsg;

            return(msgContext);
        }