Come creare un sistema di messaggistica riutilizzabile basato su comandi

2

Ho problemi a scrivere un semplice sistema basato su comandi per una chat. Voglio che gli utenti siano in grado di fare azioni di chat come

/j myChatRoom o /join myChatRoom

/w user12 Hello o /whisper user12 Hello

etc

Ho passato un po 'di tempo e tutto quello che posso inventare sono le sottostringhe e le ricerche indexof pazze, che cercano di tagliare pezzi dell'intera stringa e trovare un comando e argomenti. Sento che potrebbe esserci un'espressione regolare che potrebbe dirmi se questa stringa ha un argomento, per unire e lasciare le stanze, o due argomenti, per i messaggi privati. Non riesco a pensare a un modo logico.

    
posta user2410532 25.08.2015 - 04:54
fonte

1 risposta

2

Se fossi io, farei qualcosa di simile al seguente, utilizzando split() e switch :

public void ProcessInput(string lineOfInput)
{
    string[] parts = lineOfInput.Split(' ');

    switch (parts[0])
    {
        case "/j":
        case "/join":
            JoinChannel(parts[1]);
            break;

        case "/w":
        case "/whisper":
            SendPM(parts);
            break;

        default:
            SendMessage(parts);
            break;
    }
}

Non c'è motivo di diventare troppo complessi qui.

    
risposta data 25.08.2015 - 05:38
fonte

Leggi altre domande sui tag