Questa è più una domanda di sintassi C# piuttosto che un problema reale che deve essere risolto. Supponiamo che abbia un metodo che accetta un delegato come parametro. Diciamo che ho i seguenti metodi definiti:Esiste un modo per utilizzare i metodi C# direttamente come delegati?
void TakeSomeDelegates(Action<int> action, Func<float, Foo, Bar, string> func)
{
// Do something exciting
}
void FirstAction(int arg) { /* something */ }
string SecondFunc(float one, Foo two, Bar three){ /* etc */ }
Ora, se voglio chiamare TakeSomeDelegates
con FirstAction
e SecondFunc
come argomenti, Per quanto posso dire, ho bisogno di fare qualcosa di simile:
TakeSomeDelegates(x => FirstAction(x), (x,y,z) => SecondFunc(x,y,z));
Ma c'è un modo più conveniente per utilizzare un metodo che si adatti alla firma del delegato richiesta senza scrivere un lambda? Idealmente qualcosa come TakeSomeDelegates(FirstAction, SecondFunc)
, anche se ovviamente questo non viene compilato.
"anche se ovviamente questo non viene compilato" ... che dovrebbe compilare :) – porges
woops, non ho davvero idea di cosa stavo sbagliando prima, ma sembra funzionare bene ora. Immagino che questa sia una domanda piuttosto stupida: S – guhou
Scusa per aver sprecato il tuo tempo ragazzi ... Sono anche incerto su quale risposta sia corretta ... dovrei semplicemente cancellare questa domanda? – guhou