У меня есть сценарий, в котором лучшее решение, как мне кажется, состоит в том, чтобы определенная область моего кода определяла возможные варианты поведения и возвращала соответствующую часть остальному коду, основываясь на определенных условиях.
Что-то вроде:
Action<int> foo = (int a) => a + 1;
Action<int, string> bar = (int a, string b) => b + " : " + a;
private Action GetTheRightAction(bool condition)
{
if (condition)
return foo;
else
return bar;
}
Реальный код, очевидно, более сложный, и foo
и bar
имеют более близкие отношения в поведении друг к другу.Общая идея сохраняется, хотя.Есть ли способ для GetTheRightAction
иметь общий тип возвращаемого значения?