/// <summary>Initializes a new instance of the <see cref="Message" /> class.</summary> /// <param name="runNumber">Number of the run the message belongs to.</param> /// <param name="runMessageNumber">Number of the message in the run.</param> /// <param name="elapsed">Time elapsed from the start of the benchmark.</param> /// <param name="messageSource">Source of the message.</param> /// <param name="messageSeverity">Severity of the message.</param> /// <param name="messageText">Text of the message.</param> /// <param name="hintText">Hints for the message.</param> public Message( int runNumber, int runMessageNumber, TimeSpan elapsed, MessageSource messageSource, MessageSeverity messageSeverity, [NotNull] string messageText, string hintText) { DebugCode.ValidCount(runNumber, nameof(runNumber)); DebugCode.ValidCount(runMessageNumber, nameof(runMessageNumber)); DebugCode.AssertArgument(elapsed > TimeSpan.Zero, nameof(messageSeverity), "Elapsed time should be positive."); DebugEnumCode.Defined(messageSource, nameof(messageSource)); DebugEnumCode.Defined(messageSeverity, nameof(messageSeverity)); Code.NotNullNorEmpty(messageText, nameof(messageText)); RunNumber = runNumber; RunMessageNumber = runMessageNumber; Elapsed = elapsed; MessageSource = messageSource; MessageSeverity = messageSeverity; MessageText = messageText; HintText = hintText; }