У меня есть небольшая функция, которая будет вызываться супер часто, в основном она проверяет значение конфигурации и решает, какое значение вернуть:
string GetKey()
{
if (Config.UseFirstName)
{
return this.firstName;
}
else
{
return this.lastName;
}
}
Как видите, это довольно просто, Config.UseFirstName
это настраиваемая переменная, которая при запуске читает из локального файла конфигурации, после того как он будет загружен, он никогда не будет измененУчитывая это, я хочу улучшить его производительность, удалив предложение if-else
, я хочу динамически генерировать функцию GetKey
, если во время запуска определяется переменная Config.UseFirstName
, если она истинна, тогда я сгенерирую такую функцию, какэто:
string GetKey()
{
return this.firstName;
}
Я надеюсь, что за счет устранения ненужной проверки логического значения производительность этой функции можно улучшить, ее поведение аналогично динамической загрузке .DLL на платформе Windows.Теперь вопрос в том, поддерживает ли .NET мой сценарий?Должен ли я использовать ExpressionTree?