public ObservationRecordingManager(IValueAggregator valueAggregator, IEnumerable<IValueRecordingTrigger> triggers, IValueRecorder recorder, TimeSpan? minTimeBetweenRecordings = null) { ValueRecorder = recorder; RecordingTriggers = new Collection<IValueRecordingTrigger>(triggers.ToList()); ValueAggregator = valueAggregator; m_minTimeBetweenRecording = minTimeBetweenRecordings ?? TimeSpan.Zero; }
public static V Evaluate <V>(this ISymbolicExpression var, IValueResolver Resolver, IValueAggregator <V> aggregator) { var expansion = rolist(var.Expand()); var resolutions = array(expansion.Select(x => Resolver.ResolveValue <V>(x))); var aggregate = aggregator.Aggregate(resolutions); return(aggregate); }