Ho un'espressione lambda che mi piacerebbe poter passare e riutilizzare. Ecco il codice:Espressione lambda C# come parametro del metodo
public List<IJob> getJobs(/* i want to pass the lambda expr in here */) {
using (SqlConnection connection = new SqlConnection(getConnectionString())) {
connection.Open();
return connection.Query<FullTimeJob, Student, FullTimeJob>(sql,
(job, student) => {
job.Student = student;
job.StudentId = student.Id;
return job;
},
splitOn: "user_id",
param: parameters).ToList<IJob>();
}
La chiave qui, è che voglio essere in grado di passare l'espressione lambda che sto usando qui nel metodo che sta chiamando questo codice, in modo da poter riutilizzare. L'espressione lambda è il secondo argomento nel mio metodo .Query. Suppongo che vorrei usare un'azione o Func, ma non sono abbastanza sicuro di quale sia la sintassi per questo o di come funzioni. Qualcuno può darmi un esempio?
rendere il parametro un'azione o una chiamata Func. –
Giusto, questo è quello che pensavo ... puoi mostrarmi un esempio di come farei questo? –
possibile duplicazione di [espressioni lambda C# come argomenti della funzione] (http: // stackoverflow.it/questions/5396746/c-sharp-lambda-expressions-as-function-arguments) – user