示例#1
0
文件: Message.cs 项目: lovaya/CodeJam
        /// <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;
        }