/// <summary>
        /// 异步记录用户操作日志
        /// </summary>
        /// <param name="projectId"></param>
        /// <param name="projectName"></param>
        /// <param name="clientPath"></param>
        /// <param name="action"></param>
        public static void ActionLogAsyn(int projectId, string projectName, string clientPath, ActionType action)
        {
            ActionLogHandler handler = new ActionLogHandler(ActionLog);

            Model.UserModel user = Bll.SystemBll.UserInfo;
            handler.BeginInvoke(projectId, projectName, clientPath, action, IAsyncMenthod, null);
        }
        /// <summary>
        /// 异步记录用户操作日志
        /// </summary>
        /// <param name="projectId"></param>
        /// <param name="projectName"></param>
        /// <param name="clientPath"></param>
        /// <param name="action"></param>
        public static void ActionLogAsyn(Model.FileVersion fileVerModel, Model.FileModel fileModel, string remark, string actionCode, ActionType action)
        {
            ActionLogHandler handler = new ActionLogHandler(ActionLog);

            Model.UserModel user = Bll.SystemBll.UserInfo;
            handler.BeginInvoke(fileVerModel, fileModel, remark, actionCode, action, IAsyncMenthod, null);
        }
 public Delete_Call(ActionLogHandler recieverObj, string methodPtr, GameObject targObj)
 {
     Handler      = recieverObj;
     TargetMethod = methodPtr;
     TargetObj    = targObj;
 }
        /// <summary>
        /// 异步记录用户操作日志
        /// </summary>
        /// <param name="result"></param>
        private static void IAsyncMenthod(IAsyncResult result)
        {
            ActionLogHandler handler = (ActionLogHandler)((AsyncResult)result).AsyncDelegate;

            handler.EndInvoke(result);
        }
 public Undo_Call(ActionLogHandler recieverObj, string methodPtr)
 {
     Handler      = recieverObj;
     TargetMethod = methodPtr;
 }