private Count <TEntityType, TCountType> CreateNewCount(TCountType measure, ICountedConfig config, int measureIndex) { Count <TEntityType, TCountType> count; lock (this.syncObject) { if (this.measures[measureIndex] == null) { count = CountFactory.CreateCount <TEntityType, TCountType>(this.entity, measure, config, this.timeProvider); this.measures[measureIndex] = count; } else { count = this.measures[measureIndex]; } } this.perfCounters.MeasureAdded(measure); return(count); }
public static Count <TEntityType, TCountType> CreateCount <TEntityType, TCountType>(ICountedEntity <TEntityType> entity, TCountType measure, ICountedConfig config) where TEntityType : struct, IConvertible where TCountType : struct, IConvertible { return(CountFactory.CreateCount <TEntityType, TCountType>(entity, measure, config, () => DateTime.UtcNow)); }