/// <summary> /// Constructs a new Measure /// </summary> /// <param name="name"></param> /// <param name="filter"></param> /// <param name="measure"></param> public FilteredMeasure(string name, Func <TFact, IDimensionResult <TFact>, bool> filter, Measure <TFact, TIntermediate> measure) : base(name, filter) { Measure = measure; }
/// <summary> /// Constructs a new Measure /// </summary> /// <param name="filter"></param> /// <param name="measure"></param> public FilteredMeasure(Func <TFact, IDimensionResult <TFact>, bool> filter, Measure <TFact, TIntermediate> measure) : this(measure?.Name, filter, measure) { }
/// <summary> /// Constructs a new Measure /// </summary> /// <param name="name"></param> /// <param name="filter"></param> /// <param name="measure"></param> public FilteredMeasure(string name, Func <TFact, bool> filter, Measure <TFact, TIntermediate> measure) : this(name, (fact, entry) => filter(fact), measure) { }
/// <summary> /// Constructs a new Measure /// </summary> /// <param name="filter"></param> /// <param name="measure"></param> public FilteredMeasure(Func <TFact, bool> filter, Measure <TFact, TIntermediate> measure) : this(measure?.Name ?? throw new ArgumentNullException(nameof(measure)), (fact, entry) => filter(fact), measure) { }