Sto scrivendo un metodo e, in base a un campo di configurazione, ho bisogno di cambiare da dove ottengo i miei dati. Ciò che questo mi porta a dover scrivere codice che assomiglia a questo:
List<string> result = new List<string>();
if (configField)
{
result.Add(fieldA);
}
else
{
result.Add(...BusinessLogic...);
}
Dovrò scrivere che se la dichiarazione molte volte così ovviamente voglio trasformarlo in un metodo, quindi posso solo scrivere result.Add(newMethod(configField, fieldA, dataForBusinessLogicToParse))
. Questo metodo sarebbe inutile a chiunque non scrivesse il metodo specifico che sto scrivendo, quindi ha senso dichiarare questo metodo come metodo private
separato o posso semplicemente dichiararlo in linea come delegate
come questo:
Func<Enum, int, int> newMethod =
(configField, fieldA, dataForBusinessLogicToParse) => ...businessLogic...
Sono preoccupato che dichiararlo in linea potrebbe rendere il codice più difficile da capire, ma penso che renda la classe più pulita.