JD2022-TU1/main/tools/modules/DjRedo/Core/RunnableStepTaskCollection.cs

31 lines
No EOL
912 B
C#

using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using DjRedo.Views;
namespace DjRedo.Core
{
public class RunnableStepTaskCollection : ReadOnlyCollectionBase, IReadOnlyCollection<StepTask>
{
public RunnableStepTaskCollection(IEnumerable<StepTask> stepTasks) : base()
{
base.InnerList.AddRange(stepTasks.ToArray());
}
/// <inheritdoc />
public new IEnumerator<StepTask> GetEnumerator()
{
return base.InnerList.Cast<StepTask>().GetEnumerator();
}
public async Task RunTasks()
{
object[] taskParameters = new object[0];
for (int i = 0; i < base.InnerList.Count; i++)
{
taskParameters = await base.InnerList.Cast<StepTask>().ElementAt(i).RunTask(taskParameters);
}
}
}
}