/// <summary>
 /// 执行注册到指定时间点的所有能力代码
 /// </summary>
 /// <param name="timePoint">目标时间点</param>
 /// <param name="parameter">执行参数</param>
 /// <returns></returns>
 public static ExecuteInformation Execute(ExecuteTimePoint timePoint, params object[] parameter)
 {
     var answer = new ExecuteInformation(0, true, parameter);
     lock (CodeList)
     {
         var list = GenerateExexcuteList(timePoint);
         var count = list.Count - 1;
         for (var i = 0; i <= count; i++)
         {
             answer = list[i].Execute(i == 0 ? null : list[i - 1], i == count ? null : list[i + 1], answer);
             if (answer.RemoveAfterExecute) CodeList.Remove(list[i]);
         }
     }
     return answer;
 }
 internal override ExecuteInformation Execute(Code previousCode, Code nextCode, ExecuteInformation parameter)
 {
     throw new NotImplementedException();
 }
 /// <summary>
 /// 执行能力代码
 /// </summary>
 /// <param name="previousCode">执行链上的前一个能力代码</param>
 /// <param name="nextCode">执行链上的后一个能力代码</param>
 /// <param name="parameter">执行信息</param>
 /// <returns></returns>
 internal abstract ExecuteInformation Execute(Code previousCode, Code nextCode, ExecuteInformation parameter);
 /// <summary>
 /// 立即执行指定能力代码
 /// </summary>
 /// <param name="code">目标能力代码</param>
 /// <param name="parameter">执行信息</param>
 /// <returns></returns>
 public static ExecuteInformation Execute(Code code, ExecuteInformation parameter)
 {
     RegisterCode(code);
     return Execute(ExecuteTimePoint.Now, parameter.ExecuteParameter);
 }