30 lines
888 B
C#
30 lines
888 B
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace Future.Contract
|
||
{
|
||
/// <summary>
|
||
/// 迭代空间的公共基类,可以使用Continue和Break实现迭代控制
|
||
/// </summary>
|
||
public abstract class LoopInstructBase : StructInstructBase
|
||
{
|
||
public ELoopState LoopState { get; internal set; }
|
||
|
||
/// <summary>
|
||
/// 执行迭代逻辑
|
||
/// </summary>
|
||
/// <param name="outChannels">信息输出管道,可以向其中输出信息</param>
|
||
/// <returns></returns>
|
||
protected sealed override InstructResult DoExecute(IEnumerable<IOutputChannel> outChannels)
|
||
{
|
||
//if()
|
||
return this.DoLoop(outChannels);
|
||
}
|
||
|
||
protected abstract InstructResult DoLoop(IEnumerable<IOutputChannel> outChannels);
|
||
}
|
||
}
|