public int Stop(string additionalMessage, int limitMs) { try { if (!Enabled) { return(0); } StopTime = DateTime.Now; Duration = StartTime.Difference(StopTime); // Note: Stopwatch will only output a message if the duration passes the limit! if (limitMs != 0 && Duration.Value.TotalMilliseconds < limitMs) { return(0); } additionalMessage = additionalMessage == string.Empty ? "" : $" : {additionalMessage}"; var m = $"Stopwatch: {Duration.Value.ToReadableString(30)} - {Message}{additionalMessage}"; StopWatchOutput.Log?.Invoke(m); return(Duration.Value.Seconds); } catch (Exception) { return(0); } }