IrcDotNet.IrcClient.WriteMessage C# (CSharp) Method

WriteMessage() protected method

Writes the specified message (prefix, command, and parameters) to the network stream.
/// contains more than 15 many parameters. /// /// The value of of /// is invalid. /// /// The value of one of the items of of /// is invalid. /// The current instance has already been disposed.
protected WriteMessage ( IrcMessage message ) : void
message IrcMessage The message to write.
return void
        protected void WriteMessage(IrcMessage message)
        {
            CheckDisposed();

            if (message.Command == null)
                throw new ArgumentException(Resources.MessageInvalidCommand, "message");
            if (message.Parameters.Count > maxParamsCount)
                throw new ArgumentException(Resources.MessageTooManyParams, "parameters");

            var lineBuilder = new StringBuilder();

            // Append prefix to line, if specified.
            if (message.Prefix != null)
                lineBuilder.Append(":" + CheckPrefix(message.Prefix) + " ");

            // Append command name to line.
            lineBuilder.Append(CheckCommand(message.Command).ToUpper());

            // Append each parameter to line, adding ':' character before last parameter.
            for (var i = 0; i < message.Parameters.Count - 1; i++)
            {
                if (message.Parameters[i] != null)
                    lineBuilder.Append(" " + CheckMiddleParameter(message.Parameters[i]));
            }
            if (message.Parameters.Count > 0)
            {
                var lastParameter = message.Parameters[message.Parameters.Count - 1];
                if (lastParameter != null)
                    lineBuilder.Append(" :" + CheckTrailingParameter(lastParameter));
            }

            // Send raw message as line of text.
            var line = lineBuilder.ToString();
            var messageSentEventArgs = new IrcRawMessageEventArgs(message, line);
            WriteMessage(line, messageSentEventArgs);
        }

Same methods

IrcClient::WriteMessage ( string line, object token = null ) : void
IrcClient::WriteMessage ( string prefix, string command ) : void
IrcClient::WriteMessage ( string prefix, string command, IEnumerable parameters ) : void
IrcClient