public override string ToString() { var baseString = (Owner != null) ? string.Format("[{0}] ", Owner) : ""; baseString += (_hasValue) ? string.Format("{0} {1}", TimeStamp, Value) : string.Format("{0}", TimeStamp); return(Detectors.Aggregate(baseString, (current, detectionMethod) => current + string.Format(" [{0}]", detectionMethod.Name))); }