Я рассматриваю возможность хранения методов внутри словаря (используя в качестве ключа понятную для пользователя строку), чтобы на сервер можно было отправить сообщение типа «echo, hello world» и сервер знал, что нужно вызвать: echo (строковое сообщение) и передать в "привет мир".
Псевдокод:
public delegate void NetCommand(object param);
void MyNetCommand(object param)
{
string s = param as string;
Console.WriteLine(s);
}
Dictionary<string, NetCommand> commands = new Dictionary<string, NetCommand>();
static void Main(string[] args)
{
commands.Add("echo", MyNetCommand);
}
void OnReceiveSomeImaginaryMessageAfterItsBeenProcessed(string friendly, object param)
{
commands[friendly]();
}
Мой вопрос: это хорошая идея? Есть ли какие-либо недостатки в этом? Или это просто «неправильный» способ сделать то, что уже имеет желаемое решение?