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 { public RunnableStepTaskCollection(IEnumerable stepTasks) : base() { base.InnerList.AddRange(stepTasks.ToArray()); } /// public new IEnumerator GetEnumerator() { return base.InnerList.Cast().GetEnumerator(); } public async Task RunTasks() { object[] taskParameters = new object[0]; for (int i = 0; i < base.InnerList.Count; i++) { taskParameters = await base.InnerList.Cast().ElementAt(i).RunTask(taskParameters); } } } }