BitSharper.BitcoinSerializer.MakeMessage C# (CSharp) Method

MakeMessage() private method

private MakeMessage ( string command, byte payloadBytes ) : Message
command string
payloadBytes byte
return Message
        private Message MakeMessage(string command, byte[] payloadBytes)
        {
            // We use an if ladder rather than reflection because reflection can be slow on some platforms.
            if (command.Equals("version"))
            {
                return new VersionMessage(_params, payloadBytes);
            }
            if (command.Equals("inv"))
            {
                return new InventoryMessage(_params, payloadBytes);
            }
            if (command.Equals("block"))
            {
                return new Block(_params, payloadBytes);
            }
            if (command.Equals("getdata"))
            {
                return new GetDataMessage(_params, payloadBytes);
            }
            if (command.Equals("tx"))
            {
                return new Transaction(_params, payloadBytes);
            }
            if (command.Equals("addr"))
            {
                return new AddressMessage(_params, payloadBytes);
            }
            if (command.Equals("ping"))
            {
                return new Ping();
            }
            if (command.Equals("verack"))
            {
                return new VersionAck(_params, payloadBytes);
            }
            throw new ProtocolException("No support for deserializing message with name " + command);
        }