C # If - еще - если Лестница Заявление с деревьями выражений - PullRequest
0 голосов
/ 08 ноября 2018

Я новичок в деревьях выражений, и меня смущает вопрос о том, можно ли создавать оператор лестницы If-Else-If с помощью деревьев выражений. Я вижу много примеров для утверждений If-Else, но ничего, что выходит за рамки этого. Может быть, очевидно, как распространить пример If-Else на If-Else-If, но я просто не вижу его.

Причина, по которой я хочу это сделать, заключается в том, что я хочу дать своим конечным пользователям возможность записывать и сохранять бизнес-правила в базе данных , которую я могу получить во время выполнения и оценить правило. На данный момент нет ограничений на то, насколько большой может быть лестница, что может означать, что может быть несколько других условий.

Может быть, есть лучший способ сделать это?

Мой основной сценарий использования - следующая логика, но его необходимо настроить, чтобы добавить дополнительные условия.

if(isNumeric(Result) == false)
{
    if(Result == ">")
    {   
        return "HIGH";
    }
} 
If(Result > UpperLimit)
{
    return "FAIL";
}
else if((Result <= UpperLimit)&&(Result >= LowerLimit))
{
    return "PASS";
}
else if(Result <  LowerLimit)
{
     return "ABNORMAL";
}
else 
{  
    return "";
}
...