Yaircc.Net.IRC.MessageFactory.CreateFromUserInput C# (CSharp) Method

CreateFromUserInput() static private method

Creates a new Message, encapsulating the data from the payload.
static private CreateFromUserInput ( string payload, string sourceChannel ) : MessageParseResult
payload string The payload to be encapsulated.
sourceChannel string The name of the channel the message is being generated on.
return MessageParseResult
        internal static MessageParseResult CreateFromUserInput(string payload, string sourceChannel)
        {
            MessageParseResult retval = null;
            string className = GetClassNameFromUserCommand(payload);

            if (!string.IsNullOrEmpty(className))
            {
                Message message = (Message)System.Reflection.Assembly.GetExecutingAssembly().CreateInstance(string.Format("Yaircc.Net.IRC.{0}", className));
                message.ChannelName = sourceChannel;
                ParseResult parseResult = message.TryParse(payload);
                retval = new MessageParseResult(parseResult.Success, parseResult.Message, message);
            }
            else
            {
                Message message = new Message();
                ParseResult parseResult = message.TryParse(payload);
                retval = new MessageParseResult(parseResult.Success, parseResult.Message, message);
            }

            return retval;
        }