Для очень особых обстоятельств, я хотел бы иметь возможность хранить код C# в записи конфигурации и заполнять пустую функцию с помощью этого кода во время выполнения. Например, предположим, что на первом прогоне я начинаю с такими методами, как это:Загрузка тела метода из строки?
bool Evaluate(int number)
{
return false;
}
У меня есть запись конфигурации, которая выглядит следующим образом:
<add key="EvaluateCode" value="if (number > 5) { return true; } else { return false; }"/>
После загрузки записи конфигурации EvaluateCode Я хотел бы заменить функцию тела Оценка так, что это выглядит следующим образом:
bool Evaluate(int number)
{
if (number > 5) { return true; } else { return false; }
}
После этой «замены» функция Evaluate должна вести себя так, как диктует код, так же, как если бы код не был загружен динамически.
Как я мог добиться этого в C#?
Бонус: Каковы были бы риски реализации такой функции? Как я могу смягчить эти риски?
Симон. Это именно то, что я искал! Это прямой ответ на мой вопрос, который очень помог мне в том, что я пытаюсь сделать. Спасибо. – Dalal