/// <summary> /// Updates dependent action /// </summary> /// <param name="consumer">Consumer</param> /// <returns>Action</returns> protected virtual Action UpdateDependentAction(IDataConsumer consumer) { List <object> l = new List <object>(); List <IMeasurements> lm = new List <IMeasurements>(); consumer.GetDependent(l, lm); return(() => { foreach (IMeasurements m in lm) { m.IsUpdated = false; m.UpdateMeasurements(); } }); }
/// <summary> /// Updates started action /// </summary> /// <param name="consumer">Consumer</param> /// <returns>Action</returns> protected virtual Action <double> UpdateStatredAction(IDataConsumer consumer) { List <IMeasurements> lm = new List <IMeasurements>(); List <object> l = new List <object>(); consumer.GetDependent(l, lm); List <IStarted> ls = new List <IStarted>(); foreach (object o in l) { if (o is IStarted) { ls.Add(o as IStarted); } } return((double t) => { foreach (IStarted s in ls) { s.Start(t); } }); }